Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
VariantIndex.hpp File Reference

Compile-time type index resolution for std::variant alternative types. More...

#include <type_traits>
#include <variant>
+ Include dependency graph for VariantIndex.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  corium::internal::extract_event_variant< T, typename >
 
struct  corium::internal::extract_event_variant< T, std::void_t< typename T::EventVariant > >
 
struct  corium::internal::has_variant_type< T, std::variant< Types... > >
 
struct  corium::internal::TypeId< T >
 
struct  corium::internal::variant_index< T, std::variant< Types... > >
 

Namespaces

namespace  corium
 
namespace  corium::internal
 

Typedefs

template<typename T >
using corium::internal::extract_event_variant_t = typename extract_event_variant< T >::type
 
using corium::internal::TypeIdPtr = const void *
 

Functions

template<typename T , typename... Types>
constexpr std::size_t corium::internal::get_variant_index_impl ()
 
template<typename T >
TypeIdPtr corium::internal::getTypeId () noexcept
 Get static unique address for type T without dynamic allocations or RTTI.
 

Variables

template<typename T , typename Variant >
constexpr bool corium::internal::has_variant_type_v = has_variant_type<T, Variant>::value
 Compile-time boolean indicating if type T exists in Variant.
 
template<typename T , typename Variant >
constexpr std::size_t corium::internal::variant_index_v = variant_index<T, Variant>::value
 Compile-time constant of type T's index in Variant.
 

Detailed Description

Compile-time type index resolution for std::variant alternative types.