A C++ library for various types of wheels(Based on c++23). This library is mainly written for learning purposes. The code structure is clear and easy to read.
- ThreadPool: thread pool.
- Json: json parser.
- Enum: Conversion between
enum
andstring
based on reflection. - Log: for logging and assert.
- Socket: Encapsulation of
c
socket api. - Epoll: Encapsulation of
c
epoll api. - Server: Abstract server in reactor mode. (See chat for more info.)
- Singleton: Singleton base class.
- Csv: Read and parse csv file.
- Utils: Some useful functions.
- Random: Random number generator.
- Timer: Timer based on
std::chrono
. - ObjectPool: Object pool.
- ECS: Entity-Component-System.
- geometry: Geometry calculation.
- QuadTree: Quad tree.
- RingBuffer: Ring buffer.
For usage examples, please refer to the test cases in the test
directory.
I will update wiki
in the future.
Feel free to copy code into your project.
- Add
wheel
to your project
git submodule add --depth=1 https://github.com/m1dsolo/wheel.git third_party/wheel
- Modify your
CMakeLists.txt
file.
add_subdirectory(third_party/wheel)
target_link_libraries(${YOUR_TARGET} third_party/wheel)
target_include_directories(${YOUR_TARGET} PRIVATE third_party/wheel/include)
git clone https://github.com/m1dsolo/wheel.git
cd wheel
git submodule update --init --depth=1
cmake -B build -DBUILD_WHEEL_TEST=1
cmake --build build -j4
./build/test/wheel_test # run test
MIT © m1dsolo