All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
Classes | Namespaces
types_vector.hpp File Reference

This is implementation of type vector taking advantage of variadic template. This implementation is NOT c++11 adaptation of mpl. It is small set of functon needed for components class purpose. It is also less general than mpl. The implementation is create to avoid some problems with mpl. The c++11 techniques makes it much simpler and clearer. When boost::mpl11 apears this code should be removed. More...

#include <type_traits>

Go to the source code of this file.

Classes

struct  paal::data_structures::TypesVector< Args >
 TypesVector. More...
 
struct  paal::data_structures::size< Vec >
 Computes size of TypesVector. More...
 
struct  paal::data_structures::size< TypesVector< Args...> >
 Computes size of TypesVector. More...
 
struct  paal::data_structures::fold< Vector, StartValue, Functor >
 Standard fold function implementation. More...
 
struct  paal::data_structures::fold< TypesVector< Arg, Args...>, StartValue, Functor >
 Standard fold function implementation. More...
 
struct  paal::data_structures::fold< TypesVector<>, StartValue, Functor >
 Standard fold function implementation, empty list case. More...
 
struct  paal::data_structures::push_back< Vector, Val >
 push back given val to TypesVector More...
 
struct  paal::data_structures::push_back< TypesVector< Args...>, Val >
 push back given val to TypesVector More...
 
struct  paal::data_structures::at< Vector, Id >
 gives element on id in TypesVector More...
 
struct  paal::data_structures::at< TypesVector< Arg, Args...>, std::integral_constant< C, i > >
 gives element on id in TypesVector More...
 
struct  paal::data_structures::at< TypesVector< Arg, Args...>, std::integral_constant< C, 0 > >
 gives element on id in TypesVector, at 0 case More...
 
struct  paal::data_structures::join< Components1, Components2 >
 detail More...
 
struct  paal::data_structures::join< TypesVector< Args1...>, TypesVector< Args2...> >
 joins to TypesVectors, implementation More...
 
struct  paal::data_structures::remove_n_first< n, V >
 removes first n elements from given TypesVector More...
 
struct  paal::data_structures::remove_n_first< n, TypesVector< Arg, Args...> >
 removes first n elements from given TypesVector More...
 
struct  paal::data_structures::remove_n_first< 0, TypesVector< Arg, Args...> >
 two cases below cannot be one becasuse of ambiguity in instancaition More...
 
struct  paal::data_structures::remove_n_first< 0, TypesVector<> >
 removes first n elements from given TypesVector, n=0 case More...
 
struct  paal::data_structures::pos< Type, TypesVector >
 returns pos of the element in the TypesVector More...
 
struct  paal::data_structures::pos< Type, TypesVector< TypesPrefix, TypesSufix...> >
 returns pos of Type in given TypeList More...
 
struct  paal::data_structures::pos< Type, TypesVector< Type, TypesSufix...> >
 
struct  paal::data_structures::replace_at_pos< pos, NewType, TypesVector >
 replace element at pos to NewType More...
 
struct  paal::data_structures::replace_at_pos< pos, NewType, TypesVector< TypesPrefix, TypesSufix...> >
 replace type at pos to new type More...
 
struct  paal::data_structures::replace_at_pos< 0, NewType, TypesVector< TypesPrefix, TypesSufix...> >
 replace type at pos to new type, specialization for pos = 0 More...
 

Namespaces

 paal
 global namespace of project.
 
 paal::data_structures
 Data Structure namespace.
 

Detailed Description

This is implementation of type vector taking advantage of variadic template. This implementation is NOT c++11 adaptation of mpl. It is small set of functon needed for components class purpose. It is also less general than mpl. The implementation is create to avoid some problems with mpl. The c++11 techniques makes it much simpler and clearer. When boost::mpl11 apears this code should be removed.

Author
Piotr Wygocki
Version
1.0
Date
2013-07-18

Definition in file types_vector.hpp.