# CallableTraits ![Build Status](https://travis-ci.org/badair/callable_traits.svg?branch=master) [![Gitter](https://badges.gitter.im/badair/callable_traits.svg)](https://gitter.im/badair/callable_traits?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) ![Try it online][badge.wandbox] CallableTraits is a small, header-only library providing a uniform and comprehensive interface for the type-level manipulation of all callable types in C++. ## Documentation [Here](http://badair.github.io/callable_traits/index.html) ## Building the tests and examples First, you'll need a recent version of [CMake](https://cmake.org/). These commands assume that `git` and `cmake` are available in your environment path. If you need help with this, [message me on Gitter](https://gitter.im/badair/callable_traits). __GNU/Linux/OSX__ Open a shell and enter the following commands: ```shell git clone http://github.com/badair/callable_traits cd callable_traits mkdir build cd build cmake .. make check ``` If your system doesn't have a default C++ compiler, or your default C++ compiler is too old, you'll need to point CMake to a compatible C++ compiler like this, before running `make check`: ```shell cmake .. -DCMAKE_CXX_COMPILER=/path/to/compiler ``` CMake should yell at you if your compiler is too old. __Windows__ Cygwin/MSYS/MSYS2 users should refer to the Linux section. For Visual Studio 2015, fire up `cmd.exe` and enter the following commands: ```shell git clone http://github.com/badair/callable_traits cd callable_traits mkdir build cd build cmake .. -G"Visual Studio 14 2015 Win64" ``` Then, open the generated `callable_traits.sln` solution file in Visual Studio. ## See Also CallableTraits is a spin-off of a sillier, messier, more experimental project of mine called [CLBL](https://github.com/badair/CLBL), which has a storied commit history. ## License Please see [LICENSE.md](LICENSE.md). [badge.Wandbox]: https://img.shields.io/badge/try%20it-online-blue.svg [example.Wandbox]: http://melpon.org/wandbox/permlink/TlioDiz6yYNxZFnv