https://github.com/shenxiaolong-code/minimpl
modern C++ template metaprogramming library. high-value code for C++ developer, my favorite.
https://github.com/shenxiaolong-code/minimpl
metaprogramming
Last synced: 12 months ago
JSON representation
modern C++ template metaprogramming library. high-value code for C++ developer, my favorite.
- Host: GitHub
- URL: https://github.com/shenxiaolong-code/minimpl
- Owner: shenxiaolong-code
- Created: 2019-09-12T08:10:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-10T08:03:57.000Z (about 1 year ago)
- Last Synced: 2025-05-19T02:12:45.499Z (about 1 year ago)
- Topics: metaprogramming
- Language: C++
- Homepage:
- Size: 403 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Valuable libs:
1. provide high-value base component for C++ meta-programming.
2. provide C++ objects of basic services (thread, sync, and communication) for application development.
This lib begins from VS2008, all template codes needn't C++11 compiler support. initial in vs2008 :
- use MiniMPL::ParamPackage implements the variant template.
- use MiniMPL::CGetType::xxx to implement decltype of C++11 from multiple input types.
Now I might need to discard full VS2008 support because the C++11 compiler provides more simply&powerful features.
# MiniMPL
1. provide high-value basic componment for C++ meta-programming.
* it is the core componment in this lib.
* run project UT_MiniMPL to check the usage and examples.
- many type traits outside of std/boost, type manipulate function - addRemove.hpp/isXXX.hpp/isXXXEx.hpp/enumTrait.hpp.
- general templated object factory - classRegister.hpp
- container initializer and repeat batch assigner without C++11 compiler support - containerInitializer.hpp
- convert multiple-parameters into unary function - unaryFunction.hpp
- callback template function without C++11 compiler support - traverseCallbackMacro.hpp
- traverse type container supporter - traverseTypeContainer.hpp
- general two string convert function 'toString/fromString' for all built-type with any variant. - fromToString.hpp
- general any member collector in any type container - collector.hpp
- any object package - anyObject.hpp.
- link data member pointer - memberPtr.hpp.
- paramter package without C++11 compiler support - paramPack.hpp.
...
# OsBase
2. provide basic service (thread, sync, and communication) for application development.
it is not a core component. here provide some general utilities for daily development.
* run project UT_OsBase to check the usage and examples.
# other supporting tools
- UnitTestKit project -- for unit test
- tools folder -- provide some script tools to general templated source file framework and VCS config.