armarx::meta Namespace Reference

Namespaces

 cfg
 
 detail
 
 properties
 

Classes

struct  container_traits
 
struct  container_traits< pcl::PointCloud< PType >, void >
 
struct  container_traits< T, std::enable_if_t< TypeTemplateTraits::IsInstanceOfAnyV< T, _detail_containerlist > > >
 
struct  DecayAllTest
 
struct  Foo
 
struct  HasAtMethod
 Can be used to determine if T has an at method accepting a type of IdxT. More...
 
struct  HasAtMethod< T, IdxT, typename std::enable_if< std::is_same< decltype(std::declval< T >().at(std::declval< IdxT >()), int {}), int >::value >::type >
 Can be used to determine if T has an at method accepting a type of IdxT. More...
 
struct  HasToString
 Can be used to determine if there is an overload for std::to_string for a type T. More...
 
struct  HasToString< T, typename std::enable_if< std::is_same< decltype(std::to_string(std::declval< T >()), int {}), int >::value >::type >
 Can be used to determine if there is an overload for std::to_string for a type T. More...
 
struct  IndexSequence
 
struct  is_eigen_vec3_type
 
struct  is_eigen_vec3_type< Eigen::Matrix< T, 1, 3 >, void >
 
struct  is_eigen_vec3_type< Eigen::Matrix< T, 3, 1 >, void >
 
struct  is_in_types
 
struct  is_in_types< T, T0, Ts... >
 
class  is_streamable
 
struct  IsBaseOf
 
struct  IsBaseOf< Base, D0, Ds... >
 
struct  ncc
 
struct  ncv
 
struct  NthType
 
struct  NthType< n, T0, Ts... >
 
struct  nvc
 
struct  nvv
 
struct  point_type_traits
 
struct  point_type_traits< CGAL::Epick::Point_3, void >
 
struct  point_type_traits< T, std::enable_if_t< is_eigen_vec3_type_v< T > > >
 
struct  point_type_traits< T, std::enable_if_t< is_pcl_point_type_v< T > > >
 
struct  pointer_type_traits
 
struct  pointer_type_traits< T *, void >
 
struct  pointer_type_traits< T, std::enable_if_t< TypeTemplateTraits::IsInstanceOfAnyV< T, boost::shared_ptr, std::shared_ptr, std::unique_ptr > > >
 
struct  RemoveRvalueReference
 Removes rvalue ref from a type. More...
 
struct  RemoveRvalueReference< T && >
 
struct  scc
 
struct  scv
 
struct  svc
 
struct  svv
 
struct  Template0
 
struct  Template1
 
struct  type_name_holder
 
struct  TypeTemplateTraits
 Traits about templates taking only types as parameters. More...
 
struct  Wrapper
 

Typedefs

template<class T >
using DecayAll = detail::DecayAll< typename std::decay< T >::type >
 Similar to std::decay but also decays ptr and array. More...
 
template<class T0 , class... Ts>
using first_type = T0
 Get the type of the first element of a template parameter pack. More...
 
template<class T0 , class... Ts>
using last_type = typename std::decay< typename std::tuple_element< sizeof...(Ts), std::tuple< T0, Ts... > >::type >::type
 Get the type of the last element of a template parameter pack. More...
 
template<std::size_t Lo, std::size_t Hi>
using MakeIndexRange = typename detail::MakeIndexRange< Lo, Hi >::type
 
template<std::size_t N>
using MakeIndexSequence = typename detail::MakeIndexSequence< N >::type
 
template<class... Ts>
using MakeIndexSequenceFor = MakeIndexSequence< sizeof...(Ts)>
 
template<std::size_t n, class T0 , class... Ts>
using nth_type = typename std::decay< typename std::tuple_element< n, std::tuple< T0, Ts... > >::type >::type
 Get the type of the nth element of a template parameter pack. More...
 
template<class T >
using pointer_type_pointee_t = typename pointer_type_traits< T >::pointee_t
 
template<class T >
using RemoveRvalueReferenceT = typename RemoveRvalueReference< T >::type
 
template<class T0 , class T1 , class... Ts>
using second_type = T1
 Get the type of the second element of a template parameter pack. More...
 
template<class T0 , class T1 , class T2 , class... Ts>
using third_type = T2
 Get the type of the third element of a template parameter pack. More...
 
template<class... >
using void_t = void
 Helper for sfinae (is added in c++17) More...
 

Functions

 ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK (hasFoo, foo, void(T::*)(void))
 
 ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK (hasStaticFoo, foo, void(*)(void))
 
template<std::size_t... Idxs>
constexpr auto substring_as_array (std::string_view str, std::index_sequence< Idxs... >)
 
template<typename T >
constexpr auto type_name () -> std::string_view
 
template<typename T >
constexpr auto type_name_array ()
 

Typedef Documentation

◆ DecayAll

using DecayAll = detail::DecayAll<typename std::decay<T>::type>

Similar to std::decay but also decays ptr and array.

Definition at line 275 of file TemplateMetaProgramming.h.

◆ first_type

using first_type = T0

Get the type of the first element of a template parameter pack.

Definition at line 110 of file TemplateMetaProgramming.h.

◆ last_type

using last_type = typename std::decay < typename std::tuple_element < sizeof...(Ts), std::tuple<T0, Ts... > >::type >::type

Get the type of the last element of a template parameter pack.

Definition at line 104 of file TemplateMetaProgramming.h.

◆ MakeIndexRange

using MakeIndexRange = typename detail::MakeIndexRange<Lo, Hi>::type

Definition at line 236 of file TemplateMetaProgramming.h.

◆ MakeIndexSequence

using MakeIndexSequence = typename detail::MakeIndexSequence<N>::type

Definition at line 233 of file TemplateMetaProgramming.h.

◆ MakeIndexSequenceFor

using MakeIndexSequenceFor = MakeIndexSequence<sizeof...(Ts)>

Definition at line 239 of file TemplateMetaProgramming.h.

◆ nth_type

using nth_type = typename std::decay < typename std::tuple_element < n, std::tuple<T0, Ts... > >::type >::type

Get the type of the nth element of a template parameter pack.

Definition at line 135 of file TemplateMetaProgramming.h.

◆ pointer_type_pointee_t

using pointer_type_pointee_t = typename pointer_type_traits<T>::pointee_t

Definition at line 33 of file TemplateMetaProgrammingBoost.h.

◆ RemoveRvalueReferenceT

Definition at line 55 of file TemplateMetaProgramming.h.

◆ second_type

using second_type = T1

Get the type of the second element of a template parameter pack.

Definition at line 115 of file TemplateMetaProgramming.h.

◆ third_type

using third_type = T2

Get the type of the third element of a template parameter pack.

Definition at line 120 of file TemplateMetaProgramming.h.

◆ void_t

using void_t = void

Helper for sfinae (is added in c++17)

Definition at line 59 of file TemplateMetaProgramming.h.

Function Documentation

◆ ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK() [1/2]

armarx::meta::ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK ( hasFoo  ,
foo  ,
void(T::*)(void)   
)

◆ ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK() [2/2]

armarx::meta::ARMARX_META_MAKE_HAS_MEMBER_FNC_CHECK ( hasStaticFoo  ,
foo  ,
void(*)(void)   
)

◆ substring_as_array()

constexpr auto armarx::meta::substring_as_array ( std::string_view  str,
std::index_sequence< Idxs... >   
)
constexpr

Definition at line 35 of file ctti.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ type_name()

constexpr auto armarx::meta::type_name ( ) -> std::string_view
constexpr

Definition at line 75 of file ctti.h.

+ Here is the call graph for this function:

◆ type_name_array()

constexpr auto armarx::meta::type_name_array ( )
constexpr

Definition at line 41 of file ctti.h.

+ Here is the call graph for this function: