Wildmeshing Toolkit
wmtk::utils::metaprogramming Namespace Reference

Namespaces

 detail
 
 tuple
 

Classes

struct  DerivedReferenceWrapperVariantTraits
 
struct  unwrap_reference
 
struct  unwrap_reference< std::reference_wrapper< U > >
 
struct  unwrap_ref_decay
 

Typedefs

using MeshVariantTraits = DerivedReferenceWrapperVariantTraits< Mesh, PointMesh, EdgeMesh, TriMesh, TetMesh >
 
using MeshVariantType = MeshVariantTraits::ReferenceVariant
 
using ConstMeshVariantType = MeshVariantTraits::ConstReferenceVariant
 
template<typename Functor , typename BaseVariantTraitsType , typename ComparatorType , typename... OtherArgumentTypes>
using ReferenceWrappedFunctorReturnCacheCustomComparator = std::conditional_t< all_return_void_v< Functor, BaseVariantTraitsType, OtherArgumentTypes... >, std::monostate, detail::ReferenceWrappedFunctorReturnCache< Functor, BaseVariantTraitsType, ComparatorType, OtherArgumentTypes... > >
 
template<typename Functor , typename BaseVariantTraitsType , typename... OtherArgumentTypes>
using ReferenceWrappedFunctorReturnCache = std::conditional_t< all_return_void_v< Functor, BaseVariantTraitsType, OtherArgumentTypes... >, std::monostate, detail::ReferenceWrappedFunctorReturnCache< Functor, BaseVariantTraitsType, detail::DefaultComparatorType, OtherArgumentTypes... > >
 
template<typename Functor , typename ReferenceWrapperTraits , typename... Ts>
using ReferenceWrappedFunctorReturnType = typename detail::ReferenceWrappedFunctorReturnType< Functor, typename ReferenceWrapperTraits::ReferenceTuple, Ts... >::type
 
template<typename... T>
using ReferenceWrapperVariant = std::variant< std::reference_wrapper< T >... >
 
template<class T >
using unwrap_ref_decay_t = typename unwrap_ref_decay< T >::type
 

Functions

MeshVariantType as_mesh_variant (Mesh &mesh)
 
ConstMeshVariantType as_const_mesh_variant (const Mesh &mesh)
 
template<typename BaseVariantTraitsType >
BaseVariantTraitsType::ReferenceVariant as_variant (typename BaseVariantTraitsType::BaseType &value)
 
template<typename BaseVariantTraitsType >
BaseVariantTraitsType::ConstReferenceVariant as_const_variant (const typename BaseVariantTraitsType::BaseType &value)
 

Typedef Documentation

◆ ConstMeshVariantType

◆ MeshVariantTraits

◆ MeshVariantType

◆ ReferenceWrappedFunctorReturnCache

template<typename Functor , typename BaseVariantTraitsType , typename... OtherArgumentTypes>
using wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCache = typedef std::conditional_t< all_return_void_v<Functor, BaseVariantTraitsType, OtherArgumentTypes...>, std::monostate, detail::ReferenceWrappedFunctorReturnCache< Functor, BaseVariantTraitsType, detail::DefaultComparatorType, OtherArgumentTypes...> >

Definition at line 203 of file ReferenceWrappedFunctorReturnCache.hpp.

◆ ReferenceWrappedFunctorReturnCacheCustomComparator

template<typename Functor , typename BaseVariantTraitsType , typename ComparatorType , typename... OtherArgumentTypes>
using wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnCacheCustomComparator = typedef std::conditional_t< all_return_void_v<Functor, BaseVariantTraitsType, OtherArgumentTypes...>, std::monostate, detail::ReferenceWrappedFunctorReturnCache< Functor, BaseVariantTraitsType, ComparatorType, OtherArgumentTypes...> >

Definition at line 194 of file ReferenceWrappedFunctorReturnCache.hpp.

◆ ReferenceWrappedFunctorReturnType

template<typename Functor , typename ReferenceWrapperTraits , typename... Ts>
using wmtk::utils::metaprogramming::ReferenceWrappedFunctorReturnType = typedef typename detail::ReferenceWrappedFunctorReturnType< Functor, typename ReferenceWrapperTraits::ReferenceTuple, Ts...>::type

Definition at line 59 of file ReferenceWrappedFunctorReturnType.hpp.

◆ ReferenceWrapperVariant

template<typename... T>
using wmtk::utils::metaprogramming::ReferenceWrapperVariant = typedef std::variant<std::reference_wrapper<T>...>

Definition at line 15 of file ReferenceWrapperVariant.hpp.

◆ unwrap_ref_decay_t

template<class T >
using wmtk::utils::metaprogramming::unwrap_ref_decay_t = typedef typename unwrap_ref_decay<T>::type

Definition at line 31 of file unwrap_ref.hpp.

Function Documentation

◆ as_const_mesh_variant()

ConstMeshVariantType wmtk::utils::metaprogramming::as_const_mesh_variant ( const Mesh mesh)

Definition at line 16 of file as_mesh_variant.cpp.

Referenced by wmtk::simplex::link_condition().

Here is the caller graph for this function:

◆ as_const_variant()

template<typename BaseVariantTraitsType >
BaseVariantTraitsType::ConstReferenceVariant wmtk::utils::metaprogramming::as_const_variant ( const typename BaseVariantTraitsType::BaseType &  value)

Definition at line 70 of file as_variant.hpp.

◆ as_mesh_variant()

◆ as_variant()

template<typename BaseVariantTraitsType >
BaseVariantTraitsType::ReferenceVariant wmtk::utils::metaprogramming::as_variant ( typename BaseVariantTraitsType::BaseType &  value)

Definition at line 58 of file as_variant.hpp.