Foundation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Foundation::Bits::Variant< Args > Struct Template Reference

Extended std::variant with C++23 visit() behavior and convenience Get()/GetIf() methods. More...

#include <Functional.hpp>

Inheritance diagram for Foundation::Bits::Variant< Args >:

Public Member Functions

template<typename ... Visitors>
auto Visit (Visitors &&... visitors)
 
template<typename ... Visitors>
auto Visit (Visitors &&... visitors) const
 
template<typename ... Visitors>
auto VisitDefault (Visitors &&... visitors)
 
template<typename ... Visitors>
auto VisitDefault (Visitors &&... visitors) const
 
template<typename T >
constexpr TGet ()
 
template<typename T >
constexpr const TGet () const
 
template<typename T >
constexpr TGetIf ()
 
template<typename T >
constexpr const TGetIf () const
 

Detailed Description

template<typename ... Args>
struct Foundation::Bits::Variant< Args >

Extended std::variant with C++23 visit() behavior and convenience Get()/GetIf() methods.

Member Function Documentation

◆ Get() [1/2]

template<typename ... Args>
template<typename T >
constexpr T & Foundation::Bits::Variant< Args >::Get ( )
inlineconstexpr

◆ Get() [2/2]

template<typename ... Args>
template<typename T >
constexpr const T & Foundation::Bits::Variant< Args >::Get ( ) const
inlineconstexpr

◆ GetIf() [1/2]

template<typename ... Args>
template<typename T >
constexpr T * Foundation::Bits::Variant< Args >::GetIf ( )
inlineconstexpr

◆ GetIf() [2/2]

template<typename ... Args>
template<typename T >
constexpr const T * Foundation::Bits::Variant< Args >::GetIf ( ) const
inlineconstexpr

◆ Visit() [1/2]

template<typename ... Args>
template<typename ... Visitors>
auto Foundation::Bits::Variant< Args >::Visit ( Visitors &&...  visitors)
inline

◆ Visit() [2/2]

template<typename ... Args>
template<typename ... Visitors>
auto Foundation::Bits::Variant< Args >::Visit ( Visitors &&...  visitors) const
inline

◆ VisitDefault() [1/2]

template<typename ... Args>
template<typename ... Visitors>
auto Foundation::Bits::Variant< Args >::VisitDefault ( Visitors &&...  visitors)
inline

◆ VisitDefault() [2/2]

template<typename ... Args>
template<typename ... Visitors>
auto Foundation::Bits::Variant< Args >::VisitDefault ( Visitors &&...  visitors) const
inline

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