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

Public Header. More...

#include <botan/assert.h>
#include <compare>
#include <concepts>
#include <cstdint>
#include <ostream>
#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::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 (R0 &&r0, Rs &&... rs)
 
template<size_t expected, spanable_range R>
constexpr void Botan::ranges::assert_exact_byte_length (R &&r)
 
constexpr size_t Botan::ranges::size_bytes (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.