ug4
ug::element_list_traits< ElemList > Class Template Reference

Class for computing integral properties of geometric objects types in lists. More...

#include <element_list_traits.h>

Classes

struct  mfc_num_corners_of_elem
 Metafunction class for counting corners in an element type. More...
 
struct  mfc_num_edges_of_elem
 Metafunction class for counting edges in an element type. More...
 
struct  mfc_num_faces_of_elem
 Metafunction class for counting faces in an element type. More...
 
struct  mfc_num_sides_of_elem
 Metafunction class for counting sides (i.e. edges or faces) in an element type. More...
 
struct  mfc_num_volumes_of_elem
 Metafunction class for counting volumes in an element type. More...
 

Static Public Attributes

static const int maxCorners
 Max. number of corners of the elements in the element list (as a constant) More...
 
static const int maxEdges
 Max. number of edges of the elements in the element list (as a constant) More...
 
static const int maxFaces
 Max. number of faces of the elements in the element list (as a constant) More...
 
static const int maxSides
 Max. number of sides (edges or faces) of the elements in the element list (as a constant) More...
 
static const int maxVolumes
 Max. number of volumes of the elements in the element list (as a constant) More...
 

Detailed Description

template<typename ElemList>
class ug::element_list_traits< ElemList >

Class for computing integral properties of geometric objects types in lists.

This class gets the maximum number of corners, edges etc over all the geometric elements in a given list. The computation is performed at the compile time so that the result (e.g. element_list_traits<ElemList>::max_edges) is a static constant.

Template Parameters
ElemListlist of geometric elements

Member Data Documentation

◆ maxCorners

template<typename ElemList >
const int ug::element_list_traits< ElemList >::maxCorners
static
Initial value:
= boost::mpl::fold
<
boost::mpl::transform_view<ElemList, mfc_num_corners_of_elem>,
boost::mpl::int_<0>,
boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
>::type::value

Max. number of corners of the elements in the element list (as a constant)

◆ maxEdges

template<typename ElemList >
const int ug::element_list_traits< ElemList >::maxEdges
static
Initial value:
= boost::mpl::fold
<
boost::mpl::transform_view<ElemList, mfc_num_edges_of_elem>,
boost::mpl::int_<0>,
boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
>::type::value

Max. number of edges of the elements in the element list (as a constant)

◆ maxFaces

template<typename ElemList >
const int ug::element_list_traits< ElemList >::maxFaces
static
Initial value:
= boost::mpl::fold
<
boost::mpl::transform_view<ElemList, mfc_num_faces_of_elem>,
boost::mpl::int_<0>,
boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
>::type::value

Max. number of faces of the elements in the element list (as a constant)

◆ maxSides

template<typename ElemList >
const int ug::element_list_traits< ElemList >::maxSides
static
Initial value:
= boost::mpl::fold
<
boost::mpl::transform_view<ElemList, mfc_num_sides_of_elem>,
boost::mpl::int_<0>,
boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
>::type::value

Max. number of sides (edges or faces) of the elements in the element list (as a constant)

◆ maxVolumes

template<typename ElemList >
const int ug::element_list_traits< ElemList >::maxVolumes
static
Initial value:
= boost::mpl::fold
<
boost::mpl::transform_view<ElemList, mfc_num_volumes_of_elem>,
boost::mpl::int_<0>,
boost::mpl::max<boost::mpl::_1,boost::mpl::_2>
>::type::value

Max. number of volumes of the elements in the element list (as a constant)


The documentation for this class was generated from the following file: