Wire Sysio Wire Sysion 1.0.0
|
#include <sysio/vm/exceptions.hpp>
#include <cstddef>
#include <cstdint>
#include <algorithm>
#include <limits>
#include <tuple>
#include <type_traits>
#include <variant>
#include <utility>
Go to the source code of this file.
Namespaces | |
namespace | sysio |
namespace | sysio::vm |
namespace | sysio::vm::detail |
Macros | |
#define | V_ELEM(N) |
#define | V0 variant_storage() = default; |
#define | V1 V0 V_ELEM(0) |
#define | V2 V1 V_ELEM(1) |
#define | V3 V2 V_ELEM(2) |
#define | V4 V3 V_ELEM(3) |
Typedefs | |
template<std::size_t I, typename... Alternatives> | |
using | sysio::vm::detail::get_alternative_t = std::tuple_element_t<I, std::tuple<Alternatives...>> |
Functions | |
template<int I, typename Storage > | |
constexpr decltype(auto) | sysio::vm::detail::variant_storage_get (Storage &&val) |
template<class Visitor , typename Variant > | |
constexpr auto | sysio::vm::visit (Visitor &&vis, Variant &&var) |
Variables | |
template<typename... Ts> | |
constexpr std::size_t | sysio::vm::detail::max_layout_size_v = std::max({sizeof(Ts)...}) |
template<typename... Ts> | |
constexpr std::size_t | sysio::vm::detail::max_alignof_v = std::max({alignof(Ts)...}) |
template<typename T , typename... Alternatives> | |
constexpr bool | sysio::vm::detail::is_valid_alternative_v = (... + (std::is_same_v<T, Alternatives>?1:0)) != 0 |
template<typename T , typename Alternative , typename... Alternatives> | |
constexpr std::size_t | sysio::vm::detail::get_alternatives_index_v |
template<typename T , typename Alternative > | |
constexpr std::size_t | sysio::vm::detail::get_alternatives_index_v< T, Alternative > = 0 |
#define V0 variant_storage() = default; |
Definition at line 100 of file variant.hpp.
Definition at line 101 of file variant.hpp.
Definition at line 102 of file variant.hpp.
Definition at line 103 of file variant.hpp.
Definition at line 104 of file variant.hpp.
#define V_ELEM | ( | N | ) |
Definition at line 93 of file variant.hpp.