Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
concepts.hpp File Reference
#include "core/assert.hpp"
#include <compare>
#include <concepts>
#include <cstdint>
#include <ostream>
#include <ranges>
#include <span>
#include <type_traits>
#include <vector>
Include dependency graph for concepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  iv::isStrongType< Ts >
 
struct  iv::isStrongType< Strong< Ts... > >
 
struct  iv::allSame< T0, Ts >
 

Namespaces

namespace  iv
 
namespace  iv::ranges
 
namespace  iv::concepts
 

Concepts

concept  iv::ranges::spanableRange
 
concept  iv::ranges::staticallySpanableRange
 
concept  iv::concepts::destructible
 
concept  iv::concepts::constructibleFrom
 
concept  iv::concepts::defaultInitializable
 
concept  iv::concepts::containerIterator
 
concept  iv::concepts::containerPointer
 
concept  iv::concepts::container
 
concept  iv::concepts::contiguousContainer
 
concept  iv::concepts::hasEmpty
 
concept  iv::concepts::resizableContainer
 
concept  iv::concepts::reservableContainer
 
concept  iv::concepts::resizableByteBuffer
 
concept  iv::concepts::StringRepresentable
 
concept  iv::concepts::streamable
 
concept  iv::concepts::strongType
 
concept  iv::concepts::contiguousStrongType
 
concept  iv::concepts::integralStrongType
 
concept  iv::concepts::unsignedIntegralStrongType
 
concept  iv::concepts::strongTypeWithCapability
 
concept  iv::concepts::StreamWritable
 
concept  iv::concepts::StreamReadable
 
concept  iv::concepts::IntegerType
 
concept  iv::concepts::FloatingPointType
 
concept  iv::concepts::EnumType
 

Functions

constexpr size_t iv::ranges::sizeBytes (iv::ranges::spanableRange auto &&r)
 
template<size_t expected, iv::ranges::spanableRange R>
constexpr void iv::ranges::assertExactByteLength (R &&r)
 
template<iv::ranges::spanableRange R0, iv::ranges::spanableRange... Rs>
requires (sizeof...(Rs) > 0)
constexpr void iv::ranges::assertEqualByteLengths (R0 &&r0, Rs &&...rs)
 

Variables

template<typename... Ts>
constexpr bool iv::isStrongTypeV = iv::isStrongType<std::remove_const_t<Ts>...>::value
 
template<typename... Ts>
static constexpr bool iv::allSameV = iv::allSame<Ts...>::value