Botan 3.9.0
Crypto and TLS for C&
concepts.h File Reference

Public Header. More...

#include <botan/exceptn.h>
#include <concepts>
#include <iosfwd>
#include <ranges>
#include <span>
#include <type_traits>

Go to the source code of this file.

Classes

struct  Botan::all_same< T0, Ts >
struct  Botan::detail::AutoDetect
struct  Botan::is_strong_type< Ts >
struct  Botan::is_strong_type< Strong< Ts... > >

Namespaces

namespace  Botan
namespace  Botan::concepts
namespace  Botan::detail
namespace  Botan::ranges

Concepts

concept  Botan::ranges::contiguous_range
concept  Botan::ranges::contiguous_output_range
concept  Botan::ranges::spanable_range
concept  Botan::ranges::statically_spanable_range
concept  Botan::concepts::container_iterator
concept  Botan::concepts::container_pointer
concept  Botan::concepts::container
concept  Botan::concepts::contiguous_container
concept  Botan::concepts::has_empty
concept  Botan::concepts::has_bounds_checked_accessors
concept  Botan::concepts::resizable_container
concept  Botan::concepts::reservable_container
concept  Botan::concepts::resizable_byte_buffer
concept  Botan::concepts::streamable
concept  Botan::concepts::strong_type
concept  Botan::concepts::contiguous_strong_type
concept  Botan::concepts::integral_strong_type
concept  Botan::concepts::unsigned_integral_strong_type
concept  Botan::concepts::strong_type_with_capability

Functions

template<spanable_range R0, spanable_range... Rs>
requires (sizeof...(Rs) > 0)
constexpr void Botan::ranges::assert_equal_byte_lengths (const R0 &r0, const Rs &... rs)
template<size_t expected, spanable_range R>
constexpr void Botan::ranges::assert_exact_byte_length (const R &r)
constexpr size_t Botan::ranges::size_bytes (const spanable_range auto &r)

Variables

template<typename... Ts>
constexpr bool Botan::is_strong_type_v = is_strong_type<std::remove_const_t<Ts>...>::value

Detailed Description

Public Header.

Definition in file concepts.h.