|
join 1.0
lightweight network framework library
|
#include <join/traits.hpp>#include <join/utils.hpp>#include <algorithm>#include <typeinfo>#include <compare>#include <tuple>#include <cstddef>#include <cstdint>

Go to the source code of this file.
Classes | |
| struct | join::details::OrderingOf< T > |
| comparison category of an alternative. More... | |
| struct | join::details::OrderingOf< std::nullptr_t > |
| comparison category of nullptr_t. More... | |
| struct | join::details::VariantHelper< Ts > |
| helper class for variant operations using jump tables for O(1) dispatch. More... | |
| class | join::Variant< Ts > |
| variant class. More... | |
Namespaces | |
| namespace | join |
| namespace | join::details |
Typedefs | |
| template<typename... Ts> | |
| using | join::details::VariantOrdering = std::common_comparison_category_t<typename OrderingOf<Ts>::type...> |
| comparison category of a variant. | |
Functions | |
| template<typename... Ts> | |
| constexpr bool | join::operator== (const Variant< Ts... > &lhs, const Variant< Ts... > &rhs) |
| compare if equal. | |
| template<typename... Ts> | |
| constexpr details::VariantOrdering< Ts... > | join::operator<=> (const Variant< Ts... > &lhs, const Variant< Ts... > &rhs) |
| three-way compare variants. | |
| template<typename... Ts> | |
| void | join::swap (Variant< Ts... > &lhs, Variant< Ts... > &rhs) noexcept |
| swap two variants. | |