libbio
Loading...
Searching...
No Matches
Namespaces | Classes | Functions
bio::type Namespace Reference

Namespaces

namespace  is_wave_detail
 

Classes

struct  EnableIf
 
struct  EnableIf< true, T >
 
struct  IsBaseOf
 
struct  IsConstImplementation
 
struct  IsConstImplementation< const T >
 
struct  IsMemcpySafeImplementation
 
struct  IsMemcpySafeImplementation< ::bio::Bytes >
 
struct  IsMemcpySafeImplementation< ::bio::ByteStream >
 
struct  IsMemcpySafeImplementation< ::bio::Iterator >
 
struct  IsMemcpySafeImplementation< ::bio::physical::Linear >
 
struct  IsMemcpySafeImplementation< ::bio::String >
 
struct  IsMemcpySafeImplementation< T * >
 
struct  IsPointerImplementation
 
struct  IsPointerImplementation< T * >
 
struct  IsPointerWrapper
 
struct  IsPrimitiveImplementation
 
struct  IsPrimitiveImplementation< TransparentWrapper< T > >
 
struct  IsReferenceImplementation
 
struct  IsReferenceImplementation< T & >
 
struct  IsWaveImplementation
 
struct  RemoveConst
 
struct  RemoveConstImplementation
 
struct  RemoveConstImplementation< const T >
 
struct  RemovePointer
 
struct  RemovePointerImplementation
 
struct  RemovePointerImplementation< T * >
 
struct  RemovePointerRefFromTypeName
 
struct  RemoveReference
 
struct  RemoveReferenceImplementation
 
struct  RemoveReferenceImplementation< T & >
 

Functions

template<typename T >
BIO_CONSTEXPR bool IsConst ()
 
template<typename T >
bool IsConst (const T t)
 
template<typename T >
BIO_CONSTEXPR bool IsMemcpySafe ()
 
template<typename T >
BIO_CONSTEXPR bool IsPointer ()
 
template<typename T >
bool IsPointer (const T t)
 
template<typename T >
BIO_CONSTEXPR bool IsWrappedPrimitive ()
 
template<typename T >
BIO_CONSTEXPR bool IsPrimitive ()
 
template<typename T >
BIO_CONSTEXPR bool IsReference ()
 
template<typename T >
bool IsReference (const T t)
 
String NormalizeTypeName (const String &name)
 
template<typename T >
BIO_CONSTEXPR ImmutableString TypeName ()
 
template<>
BIO_CONSTEXPR ImmutableString TypeName< void > ()
 
template<typename T >
BIO_CONSTEXPR bool IsWave ()
 

Function Documentation

◆ IsConst() [1/2]

template<typename T >
BIO_CONSTEXPR bool bio::type::IsConst ( )

Check whether or not T is a const type
NOTE: We currently only support the 'const' cv value (i.e. we don't use volatile, etc.).

Template Parameters
T
Returns
whether or not T has 'const' at the beginning..

◆ IsConst() [2/2]

template<typename T >
bool bio::type::IsConst ( const T  t)

Ease of use method for passing T as arg.

Template Parameters
T
Parameters
t
Returns
whether or not T is const.

◆ IsMemcpySafe()

template<typename T >
BIO_CONSTEXPR bool bio::type::IsMemcpySafe ( )
Template Parameters
T
Returns
true if it is safe to memcpy T.

◆ IsPointer() [1/2]

template<typename T >
BIO_CONSTEXPR bool bio::type::IsPointer ( )

Check whether or not T is a pointer

Template Parameters
T
Returns
whether or not T has a '*' at the end.

◆ IsPointer() [2/2]

template<typename T >
bool bio::type::IsPointer ( const T  t)

Ease of use method for passing T as arg.

Template Parameters
T
Parameters
t
Returns
whether or not T has a '*' at the end.

◆ IsPrimitive()

template<typename T >
BIO_CONSTEXPR bool bio::type::IsPrimitive ( )

IsPrimitive will return whether or not the given type is built in.
If the type provided is a pointer and we can dereference it, we will (c++11 and above).
For Biology classes, this should, with few exceptions, always mean a child of physical::Wave.

Template Parameters
T
Returns
whether or not T is a built-in type or a custom class; false by default.

◆ IsReference() [1/2]

template<typename T >
BIO_CONSTEXPR bool bio::type::IsReference ( )

Check whether or not T is a reference

Template Parameters
T
Returns
whether or not T has an '&' at the end.

◆ IsReference() [2/2]

template<typename T >
bool bio::type::IsReference ( const T  t)

Ease of use method for passing T as arg.

Template Parameters
T
Parameters
t
Returns
whether or not T has an '&' at the end.

◆ IsWave()

template<typename T >
BIO_CONSTEXPR bool bio::type::IsWave ( )

◆ IsWrappedPrimitive()

template<typename T >
BIO_CONSTEXPR bool bio::type::IsWrappedPrimitive ( )

Helper for IsPrimitiveImplementation.

Template Parameters
T
Returns
whether or not T derives from a TransparentWrapper of a hard-coded primitive type.

◆ NormalizeTypeName()

String bio::type::NormalizeTypeName ( const String name)
inline

◆ TypeName()

template<typename T >
BIO_CONSTEXPR ImmutableString bio::type::TypeName ( )

FORWARD DECLARATION

Template Parameters
T
Returns
Just T as a string.

◆ TypeName< void >()

Returns
"void"