|
Botan 3.11.0
Crypto and TLS for C&
|
Concepts | |
| concept | contiguous_output_range |
| concept | contiguous_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 (const R0 &r0, const Rs &... rs) |
| template<size_t expected, spanable_range R> | |
| constexpr void | assert_exact_byte_length (const R &r) |
| void BOTAN_UNSTABLE_API | memory_region_size_violation () |
| constexpr size_t | size_bytes (const spanable_range auto &r) |
(C) 2023 Jack Lloyd 2023 René Meusel - Rohde & Schwarz Cybersecurity
Botan is released under the Simplified BSD License (see license.txt)
|
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 98 of file range_concepts.h.
References assert_equal_byte_lengths(), assert_exact_byte_length(), and memory_region_size_violation().
Referenced by assert_equal_byte_lengths(), 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 77 of file range_concepts.h.
References assert_exact_byte_length(), and memory_region_size_violation().
Referenced by assert_equal_byte_lengths(), assert_exact_byte_length(), Botan::detail::load_any(), Botan::detail::load_any(), Botan::detail::load_any(), Botan::detail::store_any(), Botan::detail::store_any(), and Botan::detail::store_any().
| void Botan::ranges::memory_region_size_violation | ( | ) |
Throws an exception indicating that the attempted read or write was invalid
Definition at line 32 of file assert.cpp.
Referenced by assert_equal_byte_lengths(), and assert_exact_byte_length().
|
inlineconstexpr |
Find the length in bytes of a given contiguous range r.
Definition at line 59 of file range_concepts.h.
References size_bytes().
Referenced by Botan::clear_mem(), Botan::copy_mem(), Botan::secure_scrub_memory(), size_bytes(), and Botan::typecast_copy().