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
enumandstringbased on reflection. - Log: for logging and assert.
- Socket: Encapsulation of
csocket api. - Epoll: Encapsulation of
cepoll 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.
- geometry: Geometry calculation.
- QuadTree: Quad tree.
- RingBuffer: Ring buffer.
- ID: faster than string
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
wheelto your project
git submodule add --depth=1 https://github.com/m1dsolo/wheel.git third_party/wheel- Modify your
CMakeLists.txtfile.
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 testMIT © m1dsolo