neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_plugin_variant.hpp File Reference

Go to the source code of this file.

Classes

struct  neolib::bad_variant_access
 
struct  neolib::variant_type_not_equality_comparable
 
struct  neolib::variant_type_not_less_than_comparable
 
struct  neolib::variant_type_not_convertible
 
class  neolib::i_plugin_variant< Id, Types >
 

Namespaces

namespace  neolib
 
namespace  neolib::detail
 
namespace  neolib::detail::i_plugin_variant
 
namespace  neolib::variant_visitors
 
namespace  std
 

Typedefs

template<typename Visitor , typename Variant >
using neolib::detail::i_plugin_variant::funky_visit_t = std::function< void(const Visitor &, Variant &)>
 
template<typename Visitor , typename Variant >
using neolib::detail::i_plugin_variant::funky_visit_list_t = std::vector< funky_visit_t< Visitor, Variant > >
 

Functions

template<typename Visitor , typename Variant >
std::size_t neolib::detail::i_plugin_variant::funky_gen_visit (funky_visit_list_t< Visitor, Variant > &aList)
 
template<typename Visitor , typename Variant , typename T , typename... Types>
std::size_t neolib::detail::i_plugin_variant::funky_gen_visit (funky_visit_list_t< Visitor, Variant > &aList)
 
template<typename T , typename Id , typename... Types>
T neolib::get_as (const i_plugin_variant< Id, Types... > &aVariant)