|
- /*!
- * \file utl/meta/meta.h
- * \brief Meta library forward header
- */
- #ifndef __utl_meta_meta_h__
- #define __utl_meta_meta_h__
-
- /*! \defgroup meta Meta
- * An embedded metaprogramming library for uTL.
- *
- * uTL::meta is a simple metaprogramming library used widely inside uTL.
- * The lib is provided to the end user via namespace \c utl::meta
- * The library assembles:
- *
- * - integral constant based, operation and arithmetic functionality\n
- * meta defines wrappers for all of integral types such as \c int, \c long, \c char, \c uint32_t etc...
- * and also facilities to emulate:
- * 1. <b>conditional (if)</b>
- * 2. <b>logical operations</b> like \c or, \c and, \c not, \c bitor, \c bitand etc...
- * 3. <b>math operations</b> like \c add, \c sub, \c modulo
- * 4. <b>comparison operations</b> like \c equal, \c not_equal etc...
- *
- * All of these operate on integral types.
- *
- * - <b>SFINAE</b> wrappers as syntactic sugar to the rest of the uTL.
- *
- * - Walter's Brown <b>detection idiom</b> to help uTL concept implementation.
- *
- * - <b>Higher order</b> metafunction tools for composition.\n
- * This module provides tools such as \c wrap, \c compose, \c fold, \c bind etc... The user can
- * wrap metafunctions as types and pass them around to other metafunctions. The evaluation
- * of these functions can be done both in aggressive or lazy maner using tools such as \c eval or \c invoke
- *
- * - <b>typelist "container"</b> implementation.\n
- * Typelist is a container like template type holding the parameter list as items in the container.
- * This facility has also all the expected eco-system of functions like \c push_front,
- * \c push_back, \c at etc...
- */
-
- #include <utl/meta/basic.h>
- #include <utl/meta/sfinae.h>
- #include <utl/meta/typelist.h>
- #include <utl/meta/detection.h>
- #include <utl/meta/invoke.h>
-
- #endif /* __utl_meta_meta_h__ */
|