Botan 3.6.1
Crypto and TLS for C&
|
Concepts | |
concept | contiguous_range |
concept | contiguous_output_range |
concept | spanable_range |
concept | statically_spanable_range |
Functions | |
template<spanable_range R0, spanable_range... Rs> requires (sizeof...(Rs) > 0) | |
constexpr void | assert_equal_byte_lengths (R0 &&r0, Rs &&... rs) |
template<size_t expected, spanable_range R> | |
constexpr void | assert_exact_byte_length (R &&r) |
constexpr size_t | size_bytes (spanable_range auto &&r) |
|
inlineconstexpr |
Check that a list of ranges (in r0
and rs
) all have the same byte lengths. If the first range's extent is known at compile time, this will be a static check for all other ranges whose extents are known at compile time, otherwise a runtime argument check will be added.
Invalid_Argument | if any range has a dynamic extent and not all ranges feature the same byte length. |
Definition at line 128 of file concepts.h.
References assert_exact_byte_length(), and BOTAN_ARG_CHECK.
Referenced by Botan::copy_mem(), Botan::detail::load_any(), Botan::detail::store_any(), Botan::typecast_copy(), Botan::xor_buf(), and Botan::xor_buf().
|
inlineconstexpr |
Check that a given range r
has a certain statically-known byte length. If the range's extent is known at compile time, this is a static check, otherwise a runtime argument check will be added.
Invalid_Argument | if range r has a dynamic extent and does not feature the expected byte length. |
Definition at line 109 of file concepts.h.
References BOTAN_ASSERT.
Referenced by assert_equal_byte_lengths(), Botan::detail::load_any(), Botan::detail::load_any(), Botan::detail::store_any(), and Botan::detail::store_any().
|
inlineconstexpr |
Find the length in bytes of a given contiguous range r
.
Definition at line 96 of file concepts.h.
Referenced by Botan::clear_mem(), Botan::copy_mem(), Botan::secure_scrub_memory(), and Botan::typecast_copy().