23#ifndef VCL_TYPES_MESH_COMPONENTS_H
24#define VCL_TYPES_MESH_COMPONENTS_H
26#include "filter_types.h"
118template<u
int COMP_ID>
137template<u
int COMP_ID>
142 "Invalid ComponentIDEnum. You should specialize the 'ComponentString' "
143 "struct with your COMP_ID value.");
161template<uint COMP_ID,
typename... Components>
162struct ComponentOfTypePred
165 template<
typename Comp>
168 static constexpr bool value = Comp::COMPONENT_ID == COMP_ID;
174 typename FilterTypesByCondition<SameCompPred, Components...>::type;
175 static constexpr bool value = NumberOfTypes<type>::value == 1;
179template<uint COMP_ID,
typename... Components>
180struct ComponentOfTypePred<COMP_ID, TypeWrapper<Components...>> :
181 public ComponentOfTypePred<COMP_ID, Components...>
187template<uint COMP_ID,
typename... Components>
189 typename detail::ComponentOfTypePred<COMP_ID, Components...>::type>;
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:43
Definition mesh_components.h:193
typename FirstType< Args... >::type FirstTypeT
Alias for the type of the first type in a pack of types.
Definition variadic_templates.h:65
constexpr const char * COMPONENT_ENUM_STRINGS[CompId::COMPONENTS_NUMBER]
The COMPONENT_ENUM_STRINGS array contains the string representation of the CompId::Enum values.
Definition mesh_components.h:84
constexpr const char * componentEnumString()
Returns the string associated to the COMP_ID value.
Definition mesh_components.h:138
The CompId struct enumerates the components that can compose a element or a mesh.
Definition mesh_components.h:50
The ComponentString class is used to retrieve the string associated to a COMP_ID value,...
Definition mesh_components.h:120
const char * str
The string associated to the COMPONENT_ID.
Definition mesh_components.h:124