Botan 3.6.1
Crypto and TLS for C&
|
Public Header. More...
#include <botan/concepts.h>
#include <botan/types.h>
#include <array>
#include <cstring>
#include <ranges>
#include <span>
#include <type_traits>
#include <vector>
#include <botan/allocator.h>
Go to the source code of this file.
Namespaces | |
namespace | Botan |
Functions | |
template<typename T , typename Alloc , typename Alloc2 > | |
size_t | Botan::buffer_insert (std::vector< T, Alloc > &buf, size_t buf_offset, const std::vector< T, Alloc2 > &input) |
template<typename T , typename Alloc > | |
size_t | Botan::buffer_insert (std::vector< T, Alloc > &buf, size_t buf_offset, const T input[], size_t input_length) |
uint8_t * | Botan::cast_char_ptr_to_uint8 (char *s) |
const uint8_t * | Botan::cast_char_ptr_to_uint8 (const char *s) |
const char * | Botan::cast_uint8_ptr_to_char (const uint8_t *b) |
char * | Botan::cast_uint8_ptr_to_char (uint8_t *b) |
constexpr void | Botan::clear_bytes (void *ptr, size_t bytes) |
template<ranges::contiguous_output_range R> requires std::is_trivially_copyable_v<std::ranges::range_value_t<R>> | |
constexpr void | Botan::clear_mem (R &&mem) |
template<typename T > | |
constexpr void | Botan::clear_mem (T *ptr, size_t n) |
bool | Botan::constant_time_compare (const uint8_t x[], const uint8_t y[], size_t len) |
bool | Botan::constant_time_compare (std::span< const uint8_t > x, std::span< const uint8_t > y) |
template<ranges::contiguous_output_range OutR, ranges::contiguous_range InR> requires std::is_same_v<std::ranges::range_value_t<OutR>, std::ranges::range_value_t<InR>> && std::is_trivially_copyable_v<std::ranges::range_value_t<InR>> | |
constexpr void | Botan::copy_mem (OutR &&out, InR &&in) |
template<typename T > requires std::is_trivial<typename std::decay<T>::type>::value | |
constexpr void | Botan::copy_mem (T *out, const T *in, size_t n) |
uint8_t | Botan::ct_compare_u8 (const uint8_t x[], const uint8_t y[], size_t len) |
template<typename Alloc , typename Alloc2 > | |
std::vector< uint8_t, Alloc > & | Botan::operator^= (std::vector< uint8_t, Alloc > &out, const std::vector< uint8_t, Alloc2 > &in) |
template<typename T > | |
bool | Botan::same_mem (const T *p1, const T *p2, size_t n) |
void | Botan::secure_scrub_memory (ranges::contiguous_output_range auto &&data) |
void | Botan::secure_scrub_memory (void *ptr, size_t n) |
constexpr void | Botan::set_mem (uint8_t *ptr, size_t n, uint8_t val) |
template<typename To > requires std::is_trivial<To>::value | |
constexpr To | Botan::typecast_copy (const uint8_t src[]) noexcept |
template<typename ToT , ranges::contiguous_range FromR> requires std::is_default_constructible_v<ToT> && std::is_trivially_copyable_v<ToT> && std::is_trivially_copyable_v<std::ranges::range_value_t<FromR>> | |
constexpr ToT | Botan::typecast_copy (FromR &&src) noexcept |
template<typename T > requires std::is_trivial<typename std::decay<T>::type>::value | |
constexpr void | Botan::typecast_copy (T &out, const uint8_t in[]) |
template<typename T > requires std::is_trivial<T>::value | |
constexpr void | Botan::typecast_copy (T out[], const uint8_t in[], size_t N) |
template<ranges::contiguous_output_range ToR, typename FromT > requires std::is_trivially_copyable_v<FromT> && (!std::ranges::range<FromT>) && std::is_trivially_copyable_v<std::ranges::range_value_t<ToR>> | |
constexpr void | Botan::typecast_copy (ToR &&out, const FromT &in) |
template<ranges::contiguous_output_range ToR, ranges::contiguous_range FromR> requires std::is_trivially_copyable_v<std::ranges::range_value_t<FromR>> && std::is_trivially_copyable_v<std::ranges::range_value_t<ToR>> | |
constexpr void | Botan::typecast_copy (ToR &&out, FromR &&in) |
template<typename ToT , ranges::contiguous_range FromR> requires std::is_trivially_copyable_v<std::ranges::range_value_t<FromR>> && std::is_trivially_copyable_v<ToT> && (!std::ranges::range<ToT>) | |
constexpr void | Botan::typecast_copy (ToT &out, FromR &&in) noexcept |
template<typename T > | |
constexpr void | Botan::typecast_copy (uint8_t out[], const T &in) |
template<typename T > requires std::is_trivially_copyable<T>::value | |
constexpr void | Botan::typecast_copy (uint8_t out[], T in[], size_t N) |
constexpr void | Botan::xor_buf (ranges::contiguous_output_range< uint8_t > auto &&out, ranges::contiguous_range< uint8_t > auto &&in) |
constexpr void | Botan::xor_buf (ranges::contiguous_output_range< uint8_t > auto &&out, ranges::contiguous_range< uint8_t > auto &&in1, ranges::contiguous_range< uint8_t > auto &&in2) |
void | Botan::xor_buf (std::span< uint8_t > out, std::span< const uint8_t > in, size_t n) |
template<typename Alloc , typename Alloc2 > | |
void | Botan::xor_buf (std::vector< uint8_t, Alloc > &out, const uint8_t *in, const std::vector< uint8_t, Alloc2 > &in2, size_t n) |
template<typename Alloc > | |
void | Botan::xor_buf (std::vector< uint8_t, Alloc > &out, const uint8_t *in, size_t n) |
void | Botan::xor_buf (uint8_t out[], const uint8_t in[], const uint8_t in2[], size_t length) |
void | Botan::xor_buf (uint8_t out[], const uint8_t in[], size_t length) |
Public Header.
Definition in file mem_ops.h.