17namespace MeshTraitHelper {
26template <
typename... Ts>
38template <
typename T,
typename _>
41 static_assert(std::is_same<_, void>::value,
"second template argument is always void");
49template <
typename MeshType>
52 typename
Void<typename
MeshType::VertexArray, typename MeshType::FacetArray>::type>
53 :
public std::true_type
68template <
typename T,
typename _>
71 static_assert(std::is_same<_, void>::value,
"second template argument is always void");
74template <
typename MeshTypePtr>
78 typename MeshTypePtr::element_type,
79 typename MeshTypePtr::element_type::VertexArray,
80 typename MeshTypePtr::element_type::FacetArray>::type> :
public std::true_type
91template <
typename MeshTypePtr>
92using is_mesh_raw_ptr = std::conditional_t<
106template <
typename MeshType_>
109 using MeshType =
typename std::remove_reference<typename std::remove_cv<MeshType_>::type>::type;
113 static constexpr bool is_mesh_smart_ptr()
118 static constexpr bool is_mesh_raw_ptr()
120 return lagrange::MeshTraitHelper::is_mesh_raw_ptr<MeshType>::value;
123 static constexpr bool is_mesh_ptr() {
return is_mesh_raw_ptr() || is_mesh_smart_ptr(); }
Main namespace for Lagrange.
Definition: AABBIGL.h:30
Definition: MeshTrait.h:28
Definition: MeshTrait.h:40
Definition: MeshTrait.h:70
MeshTrait class provide compiler check for different mesh types.
Definition: MeshTrait.h:108