actor-framework
Related Functions | List of all members
caf::is_variant_wrapper< class > Struct Template Reference

Customization point. More...

#include <variant_wrapper.hpp>

Inheritance diagram for caf::is_variant_wrapper< class >:
Inheritance graph
[legend]
Collaboration diagram for caf::is_variant_wrapper< class >:
Collaboration graph
[legend]

Related Functions

(Note that these are not member functions.)

template<class T >
using enable_variant_wrapper_t = std::enable_if_t< is_variant_wrapper_v< T > >
 
template<class T >
constexpr bool is_variant_wrapper_v = is_variant_wrapper<T>::value
 
template<class T , class V , class = enable_variant_wrapper_t<V>>
bool holds_alternative (const V &x) noexcept
 
template<class T , class V , class = enable_variant_wrapper_t<V>>
T & get (V &x)
 
template<class T , class V , class = enable_variant_wrapper_t<V>>
const T & get (const V &x)
 
template<class T , class V , class = enable_variant_wrapper_t<V>>
T * get_if (V *ptr) noexcept
 
template<class T , class V , class = enable_variant_wrapper_t<V>>
const T * get_if (const V *ptr) noexcept
 

Detailed Description

template<class>
struct caf::is_variant_wrapper< class >

Customization point.

Any type that declares itself as a variant wrapper enables visit, holds_alternative, get and get_if. Each type must provide a member function get_data() to expose the internal std::variant.

Friends And Related Function Documentation

◆ enable_variant_wrapper_t

template<class >
template<class T >
using enable_variant_wrapper_t = std::enable_if_t<is_variant_wrapper_v<T> >
related

◆ get() [1/2]

template<class T , class V , class = enable_variant_wrapper_t<V>>
T & get ( V &  x)
related

◆ get() [2/2]

template<class T , class V , class = enable_variant_wrapper_t<V>>
const T & get ( const V &  x)
related

◆ get_if() [1/2]

template<class T , class V , class = enable_variant_wrapper_t<V>>
T * get_if ( V *  ptr)
related

◆ get_if() [2/2]

template<class T , class V , class = enable_variant_wrapper_t<V>>
const T * get_if ( const V *  ptr)
related

◆ holds_alternative()

template<class T , class V , class = enable_variant_wrapper_t<V>>
bool holds_alternative ( const V &  x)
related

◆ is_variant_wrapper_v

template<class >
template<class T >
constexpr bool is_variant_wrapper_v = is_variant_wrapper<T>::value
related

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