36 #ifndef __H__UG__LIB_DISC__REFERENCE_ELEMENT__ELEMENT_LIST_TRAITS__
37 #define __H__UG__LIB_DISC__REFERENCE_ELEMENT__ELEMENT_LIST_TRAITS__
43 #include <boost/mpl/transform_view.hpp>
44 #include <boost/mpl/fold.hpp>
45 #include <boost/mpl/min_max.hpp>
58 template <
typename ElemList>
64 template <
typename TElem>
class apply
67 public:
typedef boost::mpl::int_<ref_elem_type::numCorners>
type;
74 template <
typename TElem>
class apply
77 public:
typedef boost::mpl::int_<ref_elem_type::numEdges>
type;
84 template <
typename TElem>
class apply
87 public:
typedef boost::mpl::int_<ref_elem_type::numFaces>
type;
94 template <
typename TElem>
class apply
97 public:
typedef boost::mpl::int_<ref_elem_type::numVolumes>
type;
104 template <
typename TElem>
class apply
107 public:
typedef boost::mpl::int_<ref_elem_type::numSides>
type;
117 boost::mpl::transform_view<ElemList, mfc_num_corners_of_elem>,
119 boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
126 boost::mpl::transform_view<ElemList, mfc_num_edges_of_elem>,
128 boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
135 boost::mpl::transform_view<ElemList, mfc_num_faces_of_elem>,
137 boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
144 boost::mpl::transform_view<ElemList, mfc_num_volumes_of_elem>,
146 boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
153 boost::mpl::transform_view<ElemList, mfc_num_sides_of_elem>,
155 boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
Definition: element_list_traits.h:65
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: element_list_traits.h:66
boost::mpl::int_< ref_elem_type::numCorners > type
returned type (i.e. result of the metafunction)
Definition: element_list_traits.h:67
Definition: element_list_traits.h:75
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: element_list_traits.h:76
boost::mpl::int_< ref_elem_type::numEdges > type
returned type (i.e. result of the metafunction)
Definition: element_list_traits.h:77
Definition: element_list_traits.h:85
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: element_list_traits.h:86
boost::mpl::int_< ref_elem_type::numFaces > type
returned type (i.e. result of the metafunction)
Definition: element_list_traits.h:87
Definition: element_list_traits.h:105
boost::mpl::int_< ref_elem_type::numSides > type
returned type (i.e. result of the metafunction)
Definition: element_list_traits.h:107
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: element_list_traits.h:106
Definition: element_list_traits.h:95
reference_element_traits< TElem >::reference_element_type ref_elem_type
Definition: element_list_traits.h:96
boost::mpl::int_< ref_elem_type::numVolumes > type
returned type (i.e. result of the metafunction)
Definition: element_list_traits.h:97
Class for computing integral properties of geometric objects types in lists.
Definition: element_list_traits.h:60
static const int maxCorners
Max. number of corners of the elements in the element list (as a constant)
Definition: element_list_traits.h:115
static const int maxFaces
Max. number of faces of the elements in the element list (as a constant)
Definition: element_list_traits.h:133
static const int maxEdges
Max. number of edges of the elements in the element list (as a constant)
Definition: element_list_traits.h:124
static const int maxSides
Max. number of sides (edges or faces) of the elements in the element list (as a constant)
Definition: element_list_traits.h:151
static const int maxVolumes
Max. number of volumes of the elements in the element list (as a constant)
Definition: element_list_traits.h:142
Metafunction class for counting corners in an element type.
Definition: element_list_traits.h:63
Metafunction class for counting edges in an element type.
Definition: element_list_traits.h:73
Metafunction class for counting faces in an element type.
Definition: element_list_traits.h:83
Metafunction class for counting sides (i.e. edges or faces) in an element type.
Definition: element_list_traits.h:103
Metafunction class for counting volumes in an element type.
Definition: element_list_traits.h:93
traits for reference elements
Definition: reference_element_traits.h:48