VLink  2.0.0
A high-performance communication middleware
vlink::Traits 命名空间参考

Collection of compile-time type-trait helpers for VLink. 更多...

struct  EmptyType
 Empty tag type used wherever a type parameter must be supplied but carries no payload. 更多...
 
struct  ExpectFalse
 Type trait that always derives from std::false_type for any T. 更多...
 
struct  Callable
 Detects whether T can be invoked with no arguments. 更多...
 
struct  Callable< T, std::void_t< decltype(std::declval< T >()())> >
 
struct  Assignable
 Detects whether a value of type T can be assigned to an instance of OT. 更多...
 
struct  Assignable< OT, T, std::void_t< decltype(std::declval< OT & >()=std::declval< T >())> >
 
struct  EqualityComparable
 Detects whether OT supports operator== with T. 更多...
 
struct  EqualityComparable< OT, T, std::void_t< decltype(std::declval< OT >()==std::declval< T >())> >
 
struct  GreaterComparable
 Detects whether OT supports both operator< and operator> with T. 更多...
 
struct  GreaterComparable< OT, T, std::void_t< decltype(std::declval< OT & >()< std::declval< T >()), decltype(std::declval< OT & >() > std::declval< T & >())> >
 
struct  Operatorable
 Detects whether OT supports stream insertion (<<) and extraction (>>) with T. 更多...
 
struct  Operatorable< OT, T, std::void_t< decltype(std::declval< OT & >()<< std::declval< T >()), decltype(std::declval< OT & >() >> std::declval< T & >())> >
 
struct  IsAtomic
 Detects whether T is a std::atomic specialisation. 更多...
 
struct  IsAtomic< std::atomic< T > >
 
struct  IsSharedPtr
 Detects whether T is (or derives from) a std::shared_ptr specialisation. 更多...
 
struct  IsSharedPtr< T, std::void_t< typename T::element_type > >
 
struct  RemoveSharedPtr
 Removes a single std::shared_ptr wrapper from T, leaving non-pointer types unchanged. 更多...
 
struct  RemoveSharedPtr< T, true >
 

详细描述

Collection of compile-time type-trait helpers for VLink.