Skip to content

Commit f1419f7

Browse files
committed
cpp: update frameworks
1 parent a45125f commit f1419f7

File tree

1 file changed

+45
-41
lines changed

1 file changed

+45
-41
lines changed

docs/dev-notes/cpp/cpp-libraries-frameworks.md

Lines changed: 45 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
- [https://github.com/onqtam/cmake-reflection-template](https://github.com/onqtam/cmake-reflection-template)
4848
- [https://github.com/preshing/FlexibleReflection/tree/part1](https://github.com/preshing/FlexibleReflection/tree/part1)
4949
- [RTTR](https://www.rttr.org)
50-
- [https://github.com/TheLartians/StaticTypeInfo](https://github.com/TheLartians/StaticTypeInfo) Compile time type info
50+
- [StaticTypeInfo](https://github.com/TheLartians/StaticTypeInfo): Compile time type info
5151
- [Compile-time type info using constexpr](https://simoncoenen.com/blog/programming/StaticReflection.html)
5252
- [Refureku](https://github.com/jsoysouvanh/Refureku): C++ reflection library based on Kodgen
5353
- [Kodgen](https://github.com/jsoysouvanh/Kodgen): C++ parser & codegen
@@ -60,18 +60,18 @@
6060
- [https://github.com/TartanLlama/tl](https://github.com/TartanLlama/tl)
6161
- [https://github.com/tacticalmelonfarmer/cxl](https://github.com/tacticalmelonfarmer/cxl)
6262
- [https://github.com/doom/meta](https://github.com/doom/meta)
63-
- [https://github.com/boostorg/callable_traits](https://github.com/boostorg/callable_traits)
64-
- Function type traits: [https://github.com/kennytm/utils/blob/master/traits.hpp](https://github.com/kennytm/utils/blob/master/traits.hpp)
63+
- [callable_traits](https://github.com/boostorg/callable_traits)
64+
- [function type traits](https://github.com/kennytm/utils/blob/master/traits.hpp)
6565

6666
### C++ Utilities
6767

6868
- Functional programming: [https://github.com/Dobiasd/FunctionalPlus](https://github.com/Dobiasd/FunctionalPlus)
69-
- [https://github.com/Neargye/magic_enum](https://github.com/Neargye/magic_enum)
70-
- Global Static objects: <https://github.com/graphitemaster/0xABAD1DEA>
69+
- [magic enum](https://github.com/Neargye/magic_enum)
70+
- Global Static objects: <https://github.com/graphitemaster/0xABAD1DEA>
7171
- Asset Lib: <https://github.com/gpakosz/PPK_ASSERT>
7272
- Debug Print Expression Macros: ocs.google.com/
7373

74-
#### Type erasure
74+
### C++ Type erasure
7575

7676
- [boost te](https://github.com/boost-experimental/te)
7777
- [dyno](https://github.com/ldionne/dyno)
@@ -95,7 +95,7 @@
9595

9696
### Coroutines
9797

98-
- [libaco](https://github.com/hnes/libaco) - A blazing fast and lightweight C asymmetric coroutine library
98+
- [libaco](https://github.com/hnes/libaco): A blazing fast and lightweight C asymmetric coroutine library
9999
- <https://github.com/Tencent/libco>
100100
- [Stackless coroutine](https://github.com/RandyGaul/cute_headers/blob/master/cute_coroutine.h)
101101

@@ -104,55 +104,55 @@
104104
- [https://cista.rocks/](https://cista.rocks)
105105
- [https://uscilab.github.io/cereal/](https://uscilab.github.io/cereal)
106106

107-
### Json
107+
### JSON
108108

109-
- JSON5 - JSON for Humans: <https://github.com/json5/json5>
110-
- [https://github.com/Tencent/rapidjson](https://github.com/Tencent/rapidjson)
109+
- [JSON5](https://github.com/json5/json5): JSON for Humans
110+
- [rapidjson](https://github.com/Tencent/rapidjson)
111111

112112
## Math
113113

114114
### General
115115

116116
- Math library: [https://github.com/nfrechette/rtm](https://github.com/nfrechette/rtm)
117-
- [cglm](https://github.com/recp/cglm) - better version of glm
117+
- [cglm](https://github.com/recp/cglm): better version of glm
118118
- Procedural math tricks: <https://github.com/zalo/MathUtilities> - grab bag of some of the neat math and physics tricks
119119
- Curves Library: <https://github.com/ethz-asl/curves/tree/master/curves/include/curves>
120120
- Splines/Curves library: <https://github.com/andrewwillmott/splines-lib>
121121

122122
### Geometry
123123

124-
- [libigl](https://libigl.github.io) - header only C++ geometry processing library
125-
- [geometry-central](https://github.com/nmwsharp/geometry-central) - from Keenan Crane/GeometryProcess lab, containing implementations of Keenan's papers
124+
- [libigl](https://libigl.github.io): header only C++ geometry processing library
125+
- [geometry-central](https://github.com/nmwsharp/geometry-central): from Keenan Crane/GeometryProcess lab, containing implementations of Keenan's papers
126126

127127
## Database
128128

129-
- [https://github.com/LMDB/lmdb](https://github.com/LMDB/lmdb)
130-
- <https://mozilla.github.io/firefox-browser-architecture/text/0015-rkv.html>
131-
- <https://dgraph.io/blog/post/badger-lmdb-boltdb/>
132-
- [https://github.com/LMDB/sqlightning](https://github.com/LMDB/sqlightning)
133-
- [https://github.com/erthink/libmdbx](https://github.com/erthink/libmdbx)
134-
- [https://github.com/google/leveldb](https://github.com/google/leveldb)
135-
- [https://realm.io/](https://realm.io)
136-
- [dntree](https://github.com/reqa/ldap-lmdb-dntree) - an example implementation that shows how LDAP DNs can be stored in an lmdb database, structured as a hierarchical adjecency list
129+
- [lmdb](https://github.com/LMDB/lmdb)
130+
- [Firefox Design Review: Key-Value Storage](https://mozilla.github.io/firefox-browser-architecture/text/0015-rkv.html): simple key-value storage based on LMDB
131+
- [LMDB vs BoltDB](https://dgraph.io/blog/post/badger-lmdb-boltdb/)
132+
- [sqlightning](https://github.com/LMDB/sqlightning)
133+
- [libmdbx](https://github.com/erthink/libmdbx)
134+
- [leveldb](https://github.com/google/leveldb)
135+
- [realm.io](https://realm.io)
136+
- [dntree](https://github.com/reqa/ldap-lmdb-dntree): implementation showing how LDAP DNs can be stored in an lmdb database, structured as a hierarchical adjecency list
137137
- [sqlite orm](https://github.com/fnc12/sqlite_orm)
138138

139139
## Compute/GPU
140140

141141
- [https://github.com/imageworks/OpenShadingLanguage](https://github.com/imageworks/OpenShadingLanguage)
142142
- slang
143-
- falcor
144-
- [https://github.com/xelatihy/yocto-gl](https://github.com/xelatihy/yocto-gl)
143+
- Falcor
144+
- [yocto-gl](https://github.com/xelatihy/yocto-gl)
145145
- Blitz++ Multi-Dimensional Array Library: [https://github.com/blitzpp/blitz](https://github.com/blitzpp/blitz)
146146
- [https://github.com/mitsuba-renderer/enoki](https://github.com/mitsuba-renderer/enoki)
147147

148148
## Data Flow/Graph
149149

150-
- [https://github.com/FlexCoreLib/flexcore](https://github.com/FlexCoreLib/flexcore)
151-
- [https://github.com/cross-platform/dspatch](https://github.com/cross-platform/dspatch)
150+
- [flexcore](https://github.com/FlexCoreLib/flexcore)
151+
- [dspatch](https://github.com/cross-platform/dspatch)
152152

153153
## Networking
154154

155-
- [https://github.com/Qihoo360/evpp](https://github.com/Qihoo360/evpp)
155+
- [evpp](https://github.com/Qihoo360/evpp)
156156

157157
## Platform
158158

@@ -170,40 +170,44 @@
170170
### Hot reload
171171

172172
- Windows PE file parser: <https://github.com/serge1/COFFI>
173-
- [Blink](https://github.com/crosire/blink) - function level runtime patching with pdb+COFF reader, linker, etc
173+
- [Blink](https://github.com/crosire/blink): function level runtime patching with pdb+COFF reader, linker, etc
174174
- Run code from object files:
175175
- <http://h3.gd/posts/how-not-to-use-dlls/>
176176
- <https://github.com/h3r2tic/relocdll>
177-
- [CR](https://github.com/fungos/cr) - single file header-only live reload solution for C, written in C++
177+
- [CR](https://github.com/fungos/cr): single file header-only live reload solution for C, written in C++
178178

179179
## Animation
180180

181181
### Libs
182182

183183
- [Ozz Animation Library](https://github.com/guillaumeblanc/ozz-animation)
184-
- Animation Compression [https://github.com/nfrechette/acl](https://github.com/nfrechette/acl)
184+
- [Animation Compression Library](https://github.com/nfrechette/acl)
185185

186186
### Skinning
187187

188188
- [https://github.com/sansumbrella/Choreograph](https://github.com/sansumbrella/Choreograph)
189189
- [https://github.com/CMU-Perceptual-Computing-Lab/openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose)
190190
- [Dem Bones](https://www.ea.com/seed/news/open-source-dem-bones): Skinning Decomposition
191191
- [https://github.com/damian0815/skellington](https://github.com/damian0815/skellington)
192-
- Fast and Efficient Skinning of Animated Meshes
193-
- Implementation: [https://github.com/tneumann/skinning_decomposition_kavan](https://github.com/tneumann/skinning_decomposition_kavan)
194-
- Sparse Localized Deformation Components
195-
- [http://www.drematrix.de/publications/sparse-localized-deformation-components/](http://www.drematrix.de/publications/sparse-localized-deformation-components)
196-
- [https://github.com/tneumann/splocs](https://github.com/tneumann/splocs)
192+
- [Fast and Efficient Skinning of Animated Meshes](https://github.com/tneumann/skinning_decomposition_kavan): clean implementation in python
193+
- [Sparse Localized Deformation Components](http://www.drematrix.de/publications/sparse-localized-deformation-components): extract sparse, spatially localized deformation modes from animated mesh sequence
194+
- [splocs implementation](https://github.com/tneumann/splocs)
197195

198196
## Compilers
199197

200198
### Parallel Programming
201199

202-
- [https://github.com/thrust/thrust](https://github.com/thrust/thrust) (also [https://developer.nvidia.com/thrust](https://developer.nvidia.com/thrust))
203-
- [https://github.com/nlguillemot/CppSPMD](https://github.com/nlguillemot/CppSPMD)
204-
- SPIRV to ISPC: [https://twitter.com/_tim_jones_/status/1006208754004553728](https://twitter.com/_tim_jones_/status/1006208754004553728)
205-
- [spir-v-to-ispc-convert-gpu-compute-to-the-cpu](https://software.intel.com/en-us/articles/spir-v-to-ispc-convert-gpu-compute-to-the-cpu)
206-
- Taichi Programming Language [http://taichi.graphics/](http://taichi.graphics)
200+
- [Nvidia CCCL](https://github.com/nvidia/cccl): unified Nvidia CUDA C++ Core Libraries for GPU-Accelerated
201+
- [Thrust](https://github.com/NVIDIA/thrust): high-level GPU API for parallel algorithms/data structures library
202+
- [Thrust Project Page](https://developer.nvidia.com/thrust): C++ Parallel Algorithm Library with high-level API with GPU/CPU configurable backends e.g. CUDA, TBB, OpenMP
203+
- [CUB](https://github.com/NVIDIA/cub)
204+
- [libcudacxx](https://github.com/NVIDIA/libcudacxx)
205+
- [Nvidia CUDA-X](https://developer.nvidia.com/gpu-accelerated-libraries): Nvidia GPU-Accelerated Libraries
206+
- [CppSPMD](https://github.com/nlguillemot/CppSPMD)
207+
- [SPIRV-Cross](https://software.intel.com/en-us/articles/spir-v-to-ispc-convert-gpu-compute-to-the-cpu): Intel's SPIR-V to ISPC translator; convert GPU Compute to CPU
208+
- [SPIRV-Cross Demo](https://shader-playground.timjones.io/7b188536275bddba2caad31d92a6691a): compiling a GLSL compute shader -> SPIR-V -> ISPC
209+
- [SPIRV-Cross Live](https://twitter.com/_tim_jones_/status/1006208754004553728): live demo support in Shader Playground
210+
- [Taichi Programming Language](http://taichi.graphics)
207211

208212
### Algebraic Effects
209213

@@ -212,8 +216,8 @@
212216

213217
### Parsing
214218

215-
- [https://tree-sitter.github.io/tree-sitter/](https://tree-sitter.github.io/tree-sitter) - incremental parser
216-
- [https://github.com/orangeduck/mpc](https://github.com/orangeduck/mpc) - parser combinator
219+
- [tree-sitter](https://tree-sitter.github.io/tree-sitter): incremental parser
220+
- [https://github.com/orangeduck/mpc](https://github.com/orangeduck/mpc): parser combinator
217221
- [http://www.buildyourownlisp.com/contents](http://www.buildyourownlisp.com/contents)
218222
- [https://github.com/TheLartians/Parser](https://github.com/TheLartians/Parser)
219223
- [https://github.com/taocpp/PEGTL](https://github.com/taocpp/PEGTL)

0 commit comments

Comments
 (0)