StormByte C++ Library 1.2.0
StormByte is a comprehensive, cross-platform C++ library aimed at easing system programming, configuration management, logging, and database handling tasks. This library provides a unified API that abstracts away the complexities and inconsistencies of different platforms (Windows, Linux).
Loading...
Searching...
No Matches
Namespaces | Concepts | Functions | Variables
wrappers.hxx File Reference
#include <concepts>
#include <cstddef>
#include <optional>
#include <type_traits>
#include <utility>
#include <variant>
Include dependency graph for wrappers.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  StormByte
 Root namespace of the StormByte suite.
 
namespace  StormByte::Type
 Named concepts and small type utilities used across the suite.
 
namespace  StormByte::Type::Detail
 Private helpers.
 

Concepts

concept  StormByte::Type::Optional
 Exactly std::optional<U> for some U.
 
concept  StormByte::Type::Pair
 Type with accessible first and second members.
 
concept  StormByte::Type::Variant
 Instantiation of std::variant, after stripping cv/ref.
 
concept  StormByte::Type::VariantHasType
 Variant T that lists U among its alternatives.
 

Functions

template<typename VariantT , typename U , std::size_t... I>
constexpr bool StormByte::Type::Detail::variant_has_type_impl (std::index_sequence< I... > seq) noexcept
 Fold: is cv/ref-stripped U one of VariantT's alternatives?
 

Variables

template<typename T >
constexpr bool StormByte::Type::Detail::is_variant_v = false
 true when T is exactly std::variant<Ts...> after cv/ref strip.
 
template<typename VariantT , typename U >
constexpr bool StormByte::Type::Detail::variant_has_type_v
 Convenience wrapper around variant_has_type_impl.