Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
traits.hpp File Reference

Classes

struct  Feel::detail::submeshrangetype< RangeType >
 
struct  Feel::is_0d_real< T >
 
struct  Feel::is_1d_real< T >
 
struct  Feel::is_2d_real< T >
 
struct  Feel::is_3d_real< T >
 
struct  Feel::is_convex< T >
 
struct  Feel::is_cube< T >
 
struct  Feel::is_edge< T >
 
struct  Feel::is_face< T >
 
struct  Feel::is_filter< T >
 Filters. More...
 
struct  Feel::is_filter< boost::tuple< T... > >
 
struct  Feel::is_geoelement< T >
 Checks whether T is a GeoElement<n>D type. More...
 
struct  Feel::is_hypercube< T >
 
struct  Feel::is_point< T >
 
struct  Feel::is_segment< T >
 
struct  Feel::is_simplex< T >
 
struct  Feel::is_square< T >
 
struct  Feel::is_tetrahedron< T >
 
struct  Feel::is_topological_face< T >
 
struct  Feel::is_triangle< T >
 
class  Feel::MeshTraits< MeshType >
 Traits for meshes. More...
 
struct  Feel::SubFaceOfBase
 Tag base class. More...
 

Namespaces

namespace  Feel
 -*- mode: c++; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; show-trailing-whitespace: t -*-
 

Typedefs

template<typename MeshType >
using Feel::alledges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::allelements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::allfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::allpoints_t = points_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::boundaryedges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::boundaryelements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::boundaryfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::boundarypoints_t = points_reference_wrapper_t< MeshType >
 
template<typename T >
using Feel::dimension_t = mp11::mp_size_t< decay_type< T >::nDim >
 
template<typename MeshType >
using Feel::edges_reference_wrapper_t = boost::tuple< mpl::size_t< MESH_EDGES >, typename MeshTraits< MeshType >::edge_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::edge_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::edges_reference_wrapper_ptrtype >
 
template<typename MeshType >
using Feel::elements_pid_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::elements_reference_wrapper_t = boost::tuple< mpl::size_t< MESH_ELEMENTS >, typename MeshTraits< MeshType >::element_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::element_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::elements_reference_wrapper_ptrtype >
 
template<typename MeshType >
using Feel::elements_wrapper_ptr_t = typename MeshTraits< MeshType >::elements_reference_wrapper_ptr_type
 
template<typename MeshType >
using Feel::elements_wrapper_t = typename MeshTraits< MeshType >::elements_reference_wrapper_type
 
template<typename RangeType >
using Feel::entity_range_t = typename decay_type< RangeType >::element_t
 
template<typename MeshType >
using Feel::ext_edges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::ext_elements_t = elements_reference_wrapper_t< MeshType >
 
template<typename RangeType >
using Feel::ext_entities_from_iterator_t = RangeType
 
template<typename MeshType >
using Feel::ext_faces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::faces_pid_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::faces_reference_wrapper_t = boost::tuple< mpl::size_t< MESH_FACES >, typename MeshTraits< MeshType >::face_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::face_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::faces_reference_wrapper_ptrtype >
 
template<typename RangeType >
using Feel::filter_entity_t = typename RangeType::element_t
 
template<typename RangeType >
using Feel::filter_enum_t = typename RangeType::idim_t
 
template<typename RangeType >
using Feel::filter_iterator_t = typename RangeType::iterator_t
 
template<typename T >
using Feel::has_base_rangebase_32 = std::is_base_of< RangeBase< uint32_type >, T >
 
template<typename T >
using Feel::has_base_rangebase_64 = std::is_base_of< RangeBase< uint64_type >, T >
 
template<typename MeshType >
using Feel::idelements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::idfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::internaledges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::internalelements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::internalfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::internalpoints_t = points_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::interprocessfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename T >
using Feel::is_0d = mp11::mp_bool< decay_type< T >::nDim==0 >
 
template<typename T >
using Feel::is_1d = mp11::mp_bool< decay_type< T >::nDim==1 >
 
template<typename T >
using Feel::is_2d = mp11::mp_bool< decay_type< T >::nDim==2 >
 
template<typename T >
using Feel::is_3d = mp11::mp_bool< decay_type< T >::nDim==3 >
 
template<typename MeshType >
using Feel::marked2elements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::marked2faces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::marked3elements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::marked3faces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::markededges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::markedelements_t = elements_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::markedfaces_t = faces_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::markedpoints_t = points_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::pid_edges_t = edges_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::points_pid_t = points_reference_wrapper_t< MeshType >
 
template<typename MeshType >
using Feel::points_reference_wrapper_t = boost::tuple< mpl::size_t< MESH_POINTS >, typename MeshTraits< MeshType >::point_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::point_reference_wrapper_const_iterator, typename MeshTraits< MeshType >::points_reference_wrapper_ptrtype >
 
template<typename MeshType >
using Feel::range_element_ptr_t = typename MeshTraits< MeshType >::elements_reference_wrapper_ptrtype
 
template<typename MeshType >
using Feel::range_element_t = typename MeshTraits< MeshType >::elements_reference_wrapper_type
 
template<typename RangeType >
using Feel::range_t = typename mpl::if_< boost::is_std_list< RangeType >, mpl::identity< RangeType >, mpl::identity< std::list< RangeType > > >::type::type::value_type
 a RangeType can be one or more filter/range objects of the same type, we extract the underlying type by first casting everything to a list and then retrieving consistently the type.
 
template<typename T >
using Feel::real_dimension_t = boost::mp11::mp_size_t< decay_type< T >::nRealDim >
 
template<typename IteratorRangeT >
using Feel::submeshrange_t = typename Feel::detail::submeshrangetype< IteratorRangeT >::type
 

Functions

template<typename T >
constexpr int Feel::dimension (T const &t)
 
template<typename T >
constexpr int Feel::real_dimension (T const &t)
 

Variables

template<typename T >
constexpr uint16_type Feel::dimension_v = dimension_t<T>::value
 
template<typename T >
constexpr bool Feel::has_base_rangebase_32_v = has_base_rangebase_32<T>::value
 
template<typename T >
constexpr bool Feel::has_base_rangebase_64_v = has_base_rangebase_64<T>::value
 
template<typename T >
constexpr bool Feel::is_0d_v = is_0d<T>::value
 
template<typename T >
constexpr bool Feel::is_1d_v = is_1d<T>::value
 
template<typename T >
constexpr bool Feel::is_2d_v = is_2d<T>::value
 
template<typename T >
constexpr bool Feel::is_3d_v = is_3d<T>::value
 
template<typename... T>
constexpr bool Feel::is_filter_v = is_filter<T...>::value
 
template<typename... T>
constexpr bool Feel::is_geoelement_v = is_geoelement<T...>::value
 Helper variable template. More...
 
template<typename T >
constexpr bool Feel::is_hypercube_v = is_hypercube<T>::value
 
template<typename T >
constexpr bool Feel::is_simplex_v = is_simplex<T>::value
 
template<typename T >
constexpr uint16_type Feel::real_dimension_v = real_dimension_t<T>::value
 

Detailed Description

Author
Christophe Prud'homme <prudhomm@zion>
Date
2005-08-27