https://github.com/visualgmq/gmq_header
some header-only c++ file in C++17
https://github.com/visualgmq/gmq_header
cpp cpp17 header-only
Last synced: 12 months ago
JSON representation
some header-only c++ file in C++17
- Host: GitHub
- URL: https://github.com/visualgmq/gmq_header
- Owner: VisualGMQ
- Created: 2022-10-12T05:13:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T05:22:17.000Z (over 2 years ago)
- Last Synced: 2025-03-26T14:38:25.194Z (about 1 year ago)
- Topics: cpp, cpp17, header-only
- Language: C++
- Homepage:
- Size: 876 KB
- Stars: 16
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# GMQ-Headers
There are some useful header-only files for C++17.
Use CMake to compile examples(or unittest):
```bash
cmake -S . -B build
cmake --build build
```
|module|description|deps|support|
|--|--|--|--|
|benchmark.hpp|a small, eazy to use benchmark framework for C++|None||
|log.hpp|a small log system|None||
|cgmath.hpp|a math library for computer graphics and computational geomentry|None, but test dependent on 3rdlibs/catch2.hpp and benchmark depends on benchmark.hpp||
|expect.hpp|a implementation of std::expect(C++23) in C++17|None, but test dependent on 3rdlibs/catch2.hpp|deprecated, maybe use C++23 after few years|
|ecs.hpp|an ECS framework referenced bevy's ECS|sparse_sets.hpp|deprecated, new version is [gecs](https://github.com/VisualGMQ/gecs)|
|sparse_sets.hpp|a sparse_set data-structure implement, [reference](https://manenko.com/2021/05/23/sparse-sets.html)|None|new version in [gecs](https://github.com/VisualGMQ/gecs)|
|net.hpp|a thin layer for Win32 Socket|None|
|fp.hpp|a functional programming library referenced Haskell & Lisp.Aimed to do compile time algorithm/reflection easier.Has two implementations: pure template and constexpr function|None|new version in [mirrow](https://github.com/VisualGMQ/mirrow)|
|refl.hpp|static reflection in compile-time|None|deprecated, new version is [mirrow](https://github.com/VisualGMQ/mirrow)|
|serialize.hpp|a serialize/deserialize library for convert class to/from lua|refl.hpp & sol2(under `3rdlibs/`) & log.hpp|deprecated, new version is [mirrow](https://github.com/VisualGMQ/mirrow)|
|luabind|use static reflection and sol2 to auto-bind C++ code to lua|lua, sol and refl.hpp||
|gogl.hpp|a thin layer for OpenGL 4.3|log.hpp & cgmath.hpp & any opengl loader(glew, glad). Test dependents on glad and glfw(in `3rdlibs/`)||
|tweeny.hpp|a eazy to use tween library for game and GUI interaction|None||
|renderer2d.hpp|a 2D renderer in OpenGL for quickly embed in OpenGL Context|gogl.hpp, cgmath.hpp||