https://github.com/ruan0007/cppackage
Some handy design pattern implementation, tools compatible and meta function for c11
https://github.com/ruan0007/cppackage
c11 cpp template
Last synced: 11 months ago
JSON representation
Some handy design pattern implementation, tools compatible and meta function for c11
- Host: GitHub
- URL: https://github.com/ruan0007/cppackage
- Owner: RUAN0007
- Created: 2017-12-08T04:49:21.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-08T04:50:40.000Z (over 8 years ago)
- Last Synced: 2025-02-17T07:41:37.082Z (over 1 year ago)
- Topics: c11, cpp, template
- Language: C++
- Size: 2.18 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# cppackage includes a handful tools collected during my project and reading.
It is forked and built from an existing cpp11 metaprogramming library.
Welcome others to complement, share and use!
***
## Introduction
cppackage consist of the following three components, each occupying a directory under include/.
* tlp/ is a C\++ template programming package. I add some TypeTrait and meta functions.
* loki/ implements some techniques such as Multimethod, Small Object, Thread Model and so on, introduced in Book *Modern C++ Design: Generic Programming and Design Patterns Applied* by **Andrei Alexandrescu**.
* utils/ include some handy tools commonly used for project, such as Timer, Log and so on.
NOTE: Modules in utils/ depend on those in tlp/ and modules in loki/ depend on those in utils/
## Install and Test
### Get
~~~ bash
git clone git@github.com:RUAN0007/cppackage.git
~~~
### Use
All modules are header only. Just include them in your project.
All modules are easy to use. Refer to test cases for exact usage.
### Build
~~~bash
cd cppackage
mkdir build
cd build
cmake ..
make -j4
~~~
### Test TLP
Tlp use its own static test framework for testing.
* Just compile the testcases for testing. If all tests are compiled ok, it means that all tests pass.
Other modules uses Gtest for runtime testing.
~~~ bash
# First build the projct
./test/static-test/static_test # Static Test for TLP
./test/dynamic-test/dynamic_test # Dynamic Test for Utils and Loki
~~~
### Supported Platform:
- [MAC OS X] supported
- [Linux] supported
- [Windows] not supported
### Supported Compilers:
- [CLANG] 3.4 or later.
- [GCC] 4.8 or later.
- [MSVC] not supported.