Shaka Player Embedded
Classes | Namespaces | Macros | Typedefs | Functions
variant.h File Reference
#include <assert.h>
#include <stddef.h>
#include <cstdint>
#include <limits>
#include <type_traits>
#include <utility>
#include "macros.h"

Go to the source code of this file.

Classes

class  shaka::variant< Types >
 
struct  shaka::impl::get_max_size< Types >
 
struct  shaka::impl::get_max_size<>
 
struct  shaka::impl::get_max_size< T, Rest... >
 
struct  shaka::impl::get_type_at< I, Choices >
 
struct  shaka::impl::get_type_at< I, T, Choices... >
 
struct  shaka::impl::get_type_at< 0, T, Choices... >
 
struct  shaka::impl::get_type_index< T, Choices >
 
struct  shaka::impl::get_type_index< T, T, Choices... >
 
struct  shaka::impl::get_type_index< T, A, Choices... >
 
struct  shaka::impl::get_construct_index< Arg, T, Choices >
 
class  shaka::impl::union_< T, Rest >
 
class  shaka::impl::union_< T >
 
struct  shaka::impl::is_variant< T >
 
struct  shaka::impl::is_variant< variant< Choices... > >
 
struct  shaka::variant_alternative< I, Variant >
 
struct  shaka::variant_alternative< I, variant< Choices... > >
 
struct  shaka::monostate
 
class  shaka::variant< Types >
 

Namespaces

 shaka
 
 shaka::impl
 

Macros

#define SHAKA_MAX(a, b)   ((a) > (b) ? (a) : (b))
 

Typedefs

template<size_t I, typename... Choices>
using shaka::impl::get_type_at_t = typename get_type_at< I, Choices... >::type
 
template<size_t I, typename... Choices>
using shaka::impl::get_const_reference_at_t = typename std::add_lvalue_reference< typename std::add_const< typename get_type_at< I, Choices... >::type >::type >::type
 
template<size_t I, typename Variant >
using shaka::variant_alternative_t = typename variant_alternative< I, Variant >::type
 

Functions

template<typename... Choices>
bool shaka::operator== (const variant< Choices... > &lhs, const variant< Choices... > &rhs)
 
template<typename... Choices>
bool shaka::operator!= (const variant< Choices... > &lhs, const variant< Choices... > &rhs)
 
template<typename T , typename... Choices>
bool shaka::holds_alternative (const variant< Choices... > &variant)
 
template<size_t I, typename... Choices>
impl::get_const_reference_at_t< I, Choices... > shaka::get (const variant< Choices... > &variant)
 
template<size_t I, typename... Choices>
variant_alternative_t< I, variant< Choices... > > & shaka::get (variant< Choices... > &variant)
 
template<typename T , typename... Choices>
const T & shaka::get (const variant< Choices... > &variant)
 
template<typename T , typename... Choices>
T & shaka::get (variant< Choices... > &variant)
 
template<typename T , typename... Choices>
T && shaka::get (variant< Choices... > &&variant)
 
template<size_t I, typename... Choices>
std::add_const< variant_alternative_t< I, variant< Choices... > > >::typeshaka::get_if (const variant< Choices... > &variant)
 
template<size_t I, typename... Choices>
variant_alternative_t< I, variant< Choices... > > * shaka::get_if (variant< Choices... > &variant)
 
template<typename T , typename... Choices>
const T * shaka::get_if (const variant< Choices... > &variant)
 
template<typename T , typename... Choices>
T * shaka::get_if (variant< Choices... > &variant)
 

Macro Definition Documentation

§ SHAKA_MAX

#define SHAKA_MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 40 of file variant.h.