Sen API
Sen Libraries
Loading...
Searching...
No Matches
type_traits.h File Reference
#include "sen/core/meta/type_utils.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  sen::MetaTypeTrait< T >
struct  sen::VariantTraits< T >
struct  sen::SerializationTraits< T >
struct  sen::StringConversionTraits< T >
struct  sen::QuantityTraits< T >
struct  sen::SenClassRelation< T >
 Compile-time information about a generated (or built-in) type. More...
struct  sen::SenClassRelation< const T & >
struct  sen::SenClassRelation< T & >
struct  sen::SenClassRelation< const T >
struct  sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, baseIsTemplate >
struct  sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, true >

Namespaces

namespace  sen
namespace  sen::detail

Typedefs

template<typename T>
using sen::SenInterfaceTypeT = typename SenClassRelation<T>::InterfaceType
 Determines the interface type for the given type T.
template<typename T, typename BaseClassType = void>
using sen::SenBaseTypeT = typename detail::TemplatedBaseTypeDispatcher<T, BaseClassType>::DefaultBaseType
 Determines the base type for the given type T.
template<typename T>
using sen::SenLocalProxyTypeT = typename SenClassRelation<T>::LocalProxyType
 Determines the local proxy type for the given type T.
template<typename T>
using sen::SenRemoteProxyTypeT = typename SenClassRelation<T>::RemoteProxyType
 Determines the remote proxy type for the given type T.

Variables

template<typename T>
constexpr bool sen::isSenBaseTypeTemplateV = SenClassRelation<T>::isBaseTypeTemplate
 Checks if the given sen type has a templated base class.

Class Documentation

◆ sen::detail::TemplatedBaseTypeDispatcher

struct sen::detail::TemplatedBaseTypeDispatcher
template<typename T, typename BaseClassType, bool baseIsTemplate = isSenBaseTypeTemplateV<T>>
struct sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, baseIsTemplate >
Class Members
typedef typename BaseType DefaultBaseType typename SenClassRelation<T>::BaseType

◆ sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, true >

struct sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, true >
template<typename T, typename BaseClassType>
struct sen::detail::TemplatedBaseTypeDispatcher< T, BaseClassType, true >
Class Members
typedef typename template BaseType< BaseClassType > DefaultBaseType typename SenClassRelation<T>::template BaseType<BaseClassType>