Mirror reflection library 0.5.13

mirror::mp Namespace Reference

Contains the meta-programming utilities. More...

Classes

struct  and_
 Returns logical AND of the BooleanConstants type passed as arguments. More...
struct  append
 Returns a range having the passed item appended. More...
struct  apply_on_seq_pack_c
 Calls a nested meta-function with a pack <0,1,2, ... N-1> of ints. More...
struct  apply_on_seq_pack
 Calls a nested meta-function with a pack <0,1,2, ... N-1> of ints. More...
struct  as_a
 Tries to evaluate the MetaObjectExpression as a specific Concept type. More...
struct  before
 Returns a sub-range ending before the first occurence of the searched type. More...
struct  concat
 Returns a range which is concatenation of other ranges. More...
struct  contains
 Returns true if the range contains the searched type. More...
struct  find
 Returns a sub-range starting with the first occurence of the searched type. More...
struct  fold
 Returns the result of successive application of ForwardOp on the range. More...
struct  identity
 Meta-function returning T unchanged. More...
struct  if_
 Returns the IfTrue or the IfFalse type based on the passed Boolean type. More...
struct  if_c
 Returns the IfTrue or the IfFalse type based on the passed boolean value. More...
struct  is_a
 Returns a boolean constant based on whether the MetaObject is the Concept. More...
struct  is_not_a
 Returns a boolean constant based on whether the MetaObject isn't the Concept. More...
struct  is_one_of
 Returns a boolean constant based on if the MetaObject is one of the Concepts. More...
struct  lacks
 Returns true if the range lacks the searched type. More...
struct  arg
 Meta-function class returning the Number -th of its arguments. More...
struct  apply
 Invokes a meta-function-class or placeholder lambda expression. More...
struct  use_arg
 Returns the N-th Param or the Expr expression. More...
struct  protect
 Protects the PlaceholderExpression from being expanded. More...
struct  make_int_seq
 Meta-function returning a range of integral constants from 0 to N-1. More...
struct  not_
 Negates the BooleanConstant type passed as argument. More...
struct  only_if
 Returns a sub-range containing only elements satisfying a predicate. More...
struct  optional
 A single value container. More...
struct  nil
 Nil intrinsic meta-function for optionals. More...
struct  get
 Returns the element of the optional passed as argument. More...
struct  or_
 Returns logical OR of the BooleanConstants type passed as arguments. More...
struct  prepend
 Returns a range having the passed item prepended. More...
struct  range
 Range of types supporting forward traversal. More...
struct  empty
 Empty intrinsic meta-function for ranges. More...
struct  size
 Size intrinsic meta-function for ranges. More...
struct  front
 Returns the front element of the range passed as argument. More...
struct  back
 Returns the last element of the range passed as argument. More...
struct  at_c
 Returns the element of the range passed as argument at the given Index. More...
struct  at
 Returns the element of the range passed as argument at the given Index. More...
struct  step_front
 Range front traversal meta-function. More...
struct  push_back
 Meta-function appending the Item to the Range. More...
struct  is_range
 This trait meta-function can be used to check if the passed type is a range. More...
struct  is_optional
 This trait meta-function can be used to check if the passed type is optional. More...
struct  transform
 Returns a range containing elements transformed by a unary function. More...
struct  unique
 Returns a range with the duplicities removed. More...

Typedefs

typedef optional< nil_t > nil_optional
 Convenience typedef for NIL optional.
typedef range empty_range
 Convenience typedef for empty range.

Functions

template<typename Range , typename ResultType , typename Functor , typename ValueType >
ResultType accumulate (Functor func, ValueType initial)
 Call the unary functor on all elements of the range.
template<typename Range , typename ResultType , typename Functor , typename ValueType >
ResultType accumulate_ii (Functor func, ValueType initial)
 Call the unary functor on all elements of the range with iteration info.
template<typename Range , typename Functor >
void for_each (Functor func)
 Call the unary functor on all elements of the range.
template<typename Range , typename Functor >
void for_each_ii (Functor func)
 Call the unary functor on all elements of the range with iteration info.

Detailed Description

Contains the meta-programming utilities.


Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.