Feel++  0.91.4
Namespaces | Macros
traits.hpp File Reference
#include <boost/preprocessor/comparison/less.hpp>
#include <boost/preprocessor/comparison/equal.hpp>
#include <boost/preprocessor/logical/and.hpp>
#include <boost/preprocessor/control/if.hpp>
#include <boost/preprocessor/list/at.hpp>
#include <boost/preprocessor/list/cat.hpp>
#include <boost/preprocessor/list/for_each_product.hpp>
#include <boost/preprocessor/logical/or.hpp>
#include <boost/preprocessor/tuple/to_list.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
#include <boost/preprocessor/facilities/empty.hpp>
#include <boost/preprocessor/punctuation/comma.hpp>
#include <boost/preprocessor/facilities/identity.hpp>
#include <boost/preprocessor/arithmetic/add.hpp>
#include <boost/preprocessor/list/filter.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <feel/feelcore/feel.hpp>
#include <feel/feelcore/traits.hpp>

Namespaces

namespace  Feel
 

Macros

#define FEELPP_GLAS_TRAITS_VECTOR_TYPE(T)   BOOST_PP_TUPLE_ELEM(5, 0 , T)
 
#define FEELPP_GLAS_TRAITS_VECTOR_ITERATOR(T)   BOOST_PP_TUPLE_ELEM(5, 1 , T)
 
#define FEELPP_GLAS_TRAITS_VECTOR_CONST_ITERATOR(T)   BOOST_PP_TUPLE_ELEM(5, 2 , T)
 
#define FEELPP_GLAS_TRAITS_VECTOR_SIZE(T)   BOOST_PP_TUPLE_ELEM(5, 3 , T)
 
#define FEELPP_GLAS_TRAITS_VECTOR_RESIZE(T)   BOOST_PP_TUPLE_ELEM(5, 4 , T)
 
#define FEELPP_GLAS_TRAITS_VECTOR_TYPES
 
#define FEELPP_GLAS_TRAITS_VECTOR_OP(_, T)   FEELPP_GLAS_TRAITS_VECTOR_OP_CODE T \
 
#define FEELPP_GLAS_TRAITS_VECTOR_OP_CODE(T, V)
 
#define FEELPP_GLAS_TRAITS_MATRIX_TYPE(T)   BOOST_PP_TUPLE_ELEM(5, 0 , T)
 
#define FEELPP_GLAS_TRAITS_MATRIX_SIZE1(T)   BOOST_PP_TUPLE_ELEM(5, 1 , T)
 
#define FEELPP_GLAS_TRAITS_MATRIX_SIZE2(T)   BOOST_PP_TUPLE_ELEM(5, 2 , T)
 
#define FEELPP_GLAS_TRAITS_MATRIX_RESIZE(T)   BOOST_PP_TUPLE_ELEM(5, 3 , T)
 
#define FEELPP_GLAS_TRAITS_MATRIX_NNZ(T)   BOOST_PP_TUPLE_ELEM(5, 4 , T)
 
#define UBLAS_MATRIX_ROW(T)   ublas::matrix<T, ublas::row_major>
 
#define UBLAS_MATRIX_COL(T)   ublas::matrix<T, ublas::column_major>
 
#define UBLAS_MATRIX_SPARSE_ROW(T)   ublas::compressed_matrix<T, ublas::row_major>
 
#define UBLAS_MATRIX_SPARSE_COL(T)   ublas::compressed_matrix<T, ublas::column_major>
 
#define FEELPP_GLAS_TRAITS_MATRIX_TYPES
 
#define FEELPP_GLAS_TRAITS_MATRIX_OP(_, T)   FEELPP_GLAS_TRAITS_MATRIX_OP_CODE T \
 
#define FEELPP_GLAS_TRAITS_MATRIX_OP_CODE(T, V)
 

Detailed Description

Author
Christophe Prud'homme chris.nosp@m.toph.nosp@m.e.pru.nosp@m.dhom.nosp@m.me@uj.nosp@m.f-gr.nosp@m.enobl.nosp@m.e.fr
Date
2005-08-17

Macro Definition Documentation

#define FEELPP_GLAS_TRAITS_MATRIX_OP_CODE (   T,
 
)
Value:
template<> \
struct traits<FEELPP_GLAS_TRAITS_MATRIX_TYPE( V )( FEELPP_TRAITS_TYPE( T ) ) > \
{ \
typedef FEELPP_TRAITS_TYPE( T ) value_type; \
typedef FEELPP_GLAS_TRAITS_MATRIX_TYPE( V )( FEELPP_TRAITS_TYPE( T ) ) self_type; \
typedef matrix_tag type_tag; \
static const bool is_vector = false; \
static const bool is_matrix = true; \
}; \
inline \
size_type nrows( FEELPP_GLAS_TRAITS_MATRIX_TYPE( V )( FEELPP_TRAITS_TYPE( T ) ) const& t ) \
{ \
return t.FEELPP_GLAS_TRAITS_MATRIX_SIZE1(V)(); \
} \
inline \
size_type ncols( FEELPP_GLAS_TRAITS_MATRIX_TYPE( V )( FEELPP_TRAITS_TYPE( T ) ) const& t ) \
{ \
return t.FEELPP_GLAS_TRAITS_MATRIX_SIZE2(V)(); \
} \
inline \
void resize( FEELPP_GLAS_TRAITS_MATRIX_TYPE( V )( FEELPP_TRAITS_TYPE( T ) )& t, size_type newsize1, size_type newsize2 ) \
{ \
return t.FEELPP_GLAS_TRAITS_MATRIX_RESIZE(V)( newsize1, newsize2 ); \
} \
#define FEELPP_GLAS_TRAITS_MATRIX_TYPES
Value:
BOOST_PP_TUPLE_TO_LIST( \
4, \
( \
( UBLAS_MATRIX_ROW , size1, size2, resize, boost::none_t ), \
( UBLAS_MATRIX_COL , size1, size2, resize, boost::none_t ), \
( UBLAS_MATRIX_SPARSE_ROW, size1, size2, resize, nnz ), \
( UBLAS_MATRIX_SPARSE_COL, size1, size2, resize, nnz ) \
) \
) \
#define FEELPP_GLAS_TRAITS_VECTOR_TYPES
Value:
BOOST_PP_TUPLE_TO_LIST( \
2, \
( \
( ublas::vector, iterator, const_iterator, size, resize ), \
( std::vector , iterator, const_iterator, size, resize ) \
) \
) \