siplasplas
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
cpp::TypeInfo Class Reference
Inheritance diagram for cpp::TypeInfo:
cpp::typeerasure::TypeInfo

Public Types

enum  TypeTraitIndex : std::size_t {
  is_void, is_null_pointer, is_integral, is_floating_point,
  is_array, is_enum, is_union, is_class,
  is_function, is_pointer, is_lvalue_reference, is_rvalue_reference,
  is_member_object_pointer, is_member_function_pointer, is_fundamental, is_arithmetic,
  is_scalar, is_object, is_compound, is_reference,
  is_member_pointer, is_const, is_volatile, is_trivial,
  is_trivially_copyable, is_standard_layout, is_pod, is_literal_type,
  is_empty, is_polymorphic, is_abstract, is_signed,
  is_unsigned, is_default_constructible, is_copy_constructible, is_move_constructible,
  is_copy_assignable, is_move_assignable, is_destructible, is_trivially_default_constructible,
  is_trivially_copy_constructible, is_trivially_move_constructible, is_trivially_copy_assignable, is_trivially_move_assignable,
  is_trivially_destructible, is_nothrow_default_constructible, is_nothrow_copy_constructible, is_nothrow_move_constructible,
  is_nothrow_copy_assignable, is_nothrow_move_assignable, is_nothrow_destructible, has_virtual_destructor,
  ALWAYS_AT_END_PLEASE__ACTUALLY_NOT_A_TRAIT_INDEX
}
 
using BitsetValue = std::uint64_t
 
using TypeTraits = std::bitset< static_cast< std::size_t >(TypeTraitIndex::ALWAYS_AT_END_PLEASE__ACTUALLY_NOT_A_TRAIT_INDEX)>
 

Public Member Functions

constexpr bool operator() (const TypeTraitIndex typeTrait) const
 
constexpr ctti::detail::cstring name () const
 
constexpr ctti::detail::cstring typeName () const
 
constexpr const ctti::type_id_t & type_id () const
 
constexpr std::size_t sizeOf () const
 
constexpr std::size_t alignment () const
 
constexpr cpp::FunctionKind kind () const
 
constexpr bool isPointer () const
 

Static Public Member Functions

template<typename T >
static constexpr TypeInfo get ()
 

Friends

constexpr bool operator== (const TypeInfo &lhs, const TypeInfo &rhs)
 
constexpr bool operator!= (const TypeInfo &lhs, const TypeInfo &rhs)
 

The documentation for this class was generated from the following file: