Botan 3.7.1
Crypto and TLS for C&
|
#include <bitvector.h>
Public Types | |
using | const_iterator = typename T::const_iterator |
using | const_pointer = typename T::const_pointer |
using | iterator = typename T::iterator |
using | pointer = typename T::pointer |
using | size_type = typename T::size_type |
using | value_type = typename T::value_type |
using | wrapped_type = T |
using | wrapped_type = T |
Public Member Functions | |
constexpr void | _const_time_poison () const |
constexpr void | _const_time_unpoison () const |
auto | all_vartime () const |
auto | any_vartime () const |
template<typename OutT > | |
auto | as () const |
template<typename U > requires (concepts::has_bounds_checked_accessors<T>) | |
decltype(auto) | at (U &&i) const noexcept(noexcept(this->get().at(i))) |
template<typename U > requires (concepts::has_bounds_checked_accessors<T>) | |
decltype(auto) | at (U &&i) noexcept(noexcept(this->get().at(i))) |
auto | at (size_type i) |
auto | at (size_type i) const |
auto | back () |
auto | back () const |
decltype(auto) | begin () const noexcept(noexcept(this->get().begin())) |
decltype(auto) | begin () noexcept(noexcept(this->get().begin())) |
auto | capacity () const |
decltype(auto) | cbegin () const noexcept(noexcept(this->get().cbegin())) |
decltype(auto) | cbegin () noexcept(noexcept(this->get().cbegin())) |
decltype(auto) | cend () const noexcept(noexcept(this->get().cend())) |
decltype(auto) | cend () noexcept(noexcept(this->get().cend())) |
decltype(auto) | data () const noexcept(noexcept(this->get().data())) |
decltype(auto) | data () noexcept(noexcept(this->get().data())) |
bool | empty () const noexcept(noexcept(this->get().empty())) |
decltype(auto) | end () const noexcept(noexcept(this->get().end())) |
decltype(auto) | end () noexcept(noexcept(this->get().end())) |
template<bitvectorish OtherT> | |
auto | equals (const OtherT &other) const |
auto | flip () |
auto | flip (size_type i) |
auto | from_bytes (std::span< const uint8_t > bytes, std::optional< size_type > bits=std::nullopt) |
auto | front () |
auto | front () const |
constexpr T & | get () & |
constexpr T & | get () & |
constexpr T && | get () && |
constexpr T && | get () && |
constexpr const T & | get () const & |
constexpr const T & | get () const & |
constexpr const T && | get () const && |
constexpr const T && | get () const && |
auto | hamming_weight () const |
auto | has_odd_hamming_weight () const |
auto | none_vartime () const |
template<typename U > | |
decltype(auto) | operator[] (U &&i) const noexcept(noexcept(this->get().operator[](i))) |
template<typename U > | |
decltype(auto) | operator[] (U &&i) noexcept(noexcept(this->get().operator[](i))) |
auto | pop_back () |
auto | push_back (bool b) |
auto | reserve (size_type n) |
void | resize (size_type size) noexcept(noexcept(this->get().resize(size))) |
auto | set (size_type i) |
size_type | size () const noexcept(noexcept(this->get().size())) |
Strong_Adapter (const char *str) | |
Strong_Adapter (std::span< const typename Container_Strong_Adapter_Base< T >::value_type > span) | |
template<typename OutT > requires (std::unsigned_integral<strong_type_wrapped_type<OutT>> && !std::same_as<bool, strong_type_wrapped_type<OutT>>) | |
auto | subvector (size_type pos) const |
template<bitvectorish OutT = T> | |
auto | subvector (size_type pos, std::optional< size_type > length=std::nullopt) const |
template<typename InT > requires (std::unsigned_integral<strong_type_wrapped_type<InT>> && !std::same_as<bool, InT>) | |
void | subvector_replace (size_type pos, InT value) |
template<typename OutT = T> | |
auto | to_bytes () const |
auto | to_bytes (std::span< uint8_t > out) const |
auto | to_string () const |
auto | unset (size_type i) |
A Strong<> adapter for arbitrarily large bitvectors
Definition at line 158 of file strong_type.h.
|
inherited |
Definition at line 77 of file strong_type.h.
using Botan::detail::Strong_Adapter< T >::const_pointer = typename T::const_pointer |
Definition at line 161 of file strong_type.h.
|
inherited |
Definition at line 76 of file strong_type.h.
using Botan::detail::Strong_Adapter< T >::pointer = typename T::pointer |
Definition at line 160 of file strong_type.h.
using Botan::detail::Strong_Adapter< T >::size_type = typename T::size_type |
Definition at line 1360 of file bitvector.h.
|
inherited |
Definition at line 74 of file strong_type.h.
|
inherited |
Definition at line 39 of file strong_type.h.
|
inherited |
Definition at line 39 of file strong_type.h.
|
inlineexplicit |
Definition at line 166 of file strong_type.h.
|
inlineexplicit |
Definition at line 172 of file strong_type.h.
|
inlineconstexpr |
Definition at line 1444 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inlineconstexpr |
Definition at line 1446 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
|
inline |
Definition at line 1378 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inlinenoexceptinherited |
Definition at line 137 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
|
inlinenoexceptinherited |
Definition at line 144 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
Definition at line 1365 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::LMOTS_Private_Key::chain_input().
|
inline |
|
inline |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Definition at line 90 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::encode_point(), and Botan::wots_sign_and_pkgen().
|
inline |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 177 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::FrodoMatrix::serialize().
|
inlinenoexceptinherited |
Definition at line 108 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Definition at line 94 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::encode_point().
|
inline |
Definition at line 1401 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
|
inline |
Definition at line 1427 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
|
inlineconstexprinherited |
Definition at line 50 of file strong_type.h.
Referenced by _const_time_poison(), _const_time_unpoison(), all_vartime(), Botan::Classic_McEliece_Field_Ordering::alphas(), Botan::Classic_McEliece_Field_Ordering::alphas_control_bits(), any_vartime(), as(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), at(), at(), back(), back(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), capacity(), Botan::detail::Container_Strong_Adapter_Base< T >::cbegin(), Botan::detail::Container_Strong_Adapter_Base< T >::cbegin(), Botan::detail::Container_Strong_Adapter_Base< T >::cend(), Botan::detail::Container_Strong_Adapter_Base< T >::cend(), Botan::chain_lengths(), Botan::compute_root(), data(), data(), Botan::detail::Container_Strong_Adapter_Base< T >::empty(), Botan::detail::Container_Strong_Adapter_Base< T >::end(), Botan::detail::Container_Strong_Adapter_Base< T >::end(), equals(), Botan::GF_Mask::expand(), flip(), flip(), from_bytes(), front(), front(), hamming_weight(), has_odd_hamming_weight(), Botan::ht_sign(), Botan::ht_verify(), Botan::GF_Mask::if_set_return(), Botan::GF_Mask::is_equal(), Botan::GF_Mask::is_lte(), Botan::GF_Mask::is_zero(), Botan::LMOTS_Private_Key::LMOTS_Private_Key(), Botan::Classic_McEliece_GF::log_q_from_mod(), none_vartime(), Botan::operator&(), Botan::operator&(), Botan::operator&=(), Botan::operator&=(), Botan::Classic_McEliece_GF::operator*(), Botan::operator*(), Botan::operator*(), Botan::operator*=(), Botan::operator*=(), Botan::operator+(), Botan::operator+(), Botan::operator++(), Botan::operator++(), Botan::operator+=(), Botan::operator+=(), Botan::operator-(), Botan::operator-(), Botan::operator--(), Botan::operator--(), Botan::operator-=(), Botan::operator-=(), Botan::operator/(), Botan::operator/(), Botan::operator/=(), Botan::operator/=(), Botan::operator<<(), Botan::operator<<(), Botan::operator<<(), Botan::operator<<=(), Botan::operator<<=(), Botan::operator<=>(), Botan::operator<=>(), Botan::operator==(), Botan::operator==(), Botan::operator>>(), Botan::operator>>(), Botan::operator>>=(), Botan::operator>>=(), Botan::detail::Container_Strong_Adapter_Base< T >::operator[](), Botan::detail::Container_Strong_Adapter_Base< T >::operator[](), Botan::operator^(), Botan::operator^(), Botan::operator^=(), Botan::operator^=(), Botan::operator|(), Botan::operator|(), Botan::operator|=(), Botan::operator|=(), Botan::HSS_LMS_Params::params_at_level(), Botan::Classic_McEliece_Field_Ordering::permute_with_pivots(), pop_back(), Botan::TLS::Cipher_State::psk(), push_back(), Botan::Classic_McEliece_Encryptor::raw_kem_encrypt(), Botan::detail::Container_Strong_Adapter_Base< T >::reserve(), reserve(), Botan::detail::Container_Strong_Adapter_Base< T >::resize(), Botan::GF_Mask::select(), Botan::GF_Mask::select(), Botan::Classic_McEliece_PrivateKeyInternal::serialize(), Botan::TLS::New_Session_Ticket_12::serialize(), Botan::TLS::New_Session_Ticket_13::serialize(), set(), Botan::Sphincs_Address::set_chain_address(), Botan::Sphincs_Address::set_hash_address(), Botan::Sphincs_Address::set_keypair_address(), Botan::Sphincs_Address::set_layer_address(), Botan::Sphincs_Address::set_tree_address(), Botan::Sphincs_Address::set_tree_height(), Botan::Sphincs_Address::set_tree_index(), Botan::HSS_LMS_PrivateKeyInternal::sign(), Botan::LMS_PrivateKey::sign_and_get_pk(), Botan::HSS_Signature::signed_pub_key(), Botan::detail::Container_Strong_Adapter_Base< T >::size(), subvector(), subvector(), subvector_replace(), to_bytes(), to_bytes(), to_string(), Botan::treehash(), unset(), Botan::wots_public_key_from_signature(), and Botan::x448().
|
inlineconstexprinherited |
Definition at line 50 of file strong_type.h.
Referenced by _const_time_poison(), _const_time_unpoison(), all_vartime(), Botan::Classic_McEliece_Field_Ordering::alphas(), Botan::Classic_McEliece_Field_Ordering::alphas_control_bits(), any_vartime(), as(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), at(), at(), back(), back(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), capacity(), Botan::detail::Container_Strong_Adapter_Base< T >::cbegin(), Botan::detail::Container_Strong_Adapter_Base< T >::cbegin(), Botan::detail::Container_Strong_Adapter_Base< T >::cend(), Botan::detail::Container_Strong_Adapter_Base< T >::cend(), Botan::chain_lengths(), Botan::compute_root(), data(), data(), Botan::detail::Container_Strong_Adapter_Base< T >::empty(), Botan::detail::Container_Strong_Adapter_Base< T >::end(), Botan::detail::Container_Strong_Adapter_Base< T >::end(), equals(), Botan::GF_Mask::expand(), flip(), flip(), from_bytes(), front(), front(), hamming_weight(), has_odd_hamming_weight(), Botan::ht_sign(), Botan::ht_verify(), Botan::GF_Mask::if_set_return(), Botan::GF_Mask::is_equal(), Botan::GF_Mask::is_lte(), Botan::GF_Mask::is_zero(), Botan::LMOTS_Private_Key::LMOTS_Private_Key(), Botan::Classic_McEliece_GF::log_q_from_mod(), none_vartime(), Botan::operator&(), Botan::operator&(), Botan::operator&=(), Botan::operator&=(), Botan::Classic_McEliece_GF::operator*(), Botan::operator*(), Botan::operator*(), Botan::operator*=(), Botan::operator*=(), Botan::operator+(), Botan::operator+(), Botan::operator++(), Botan::operator++(), Botan::operator+=(), Botan::operator+=(), Botan::operator-(), Botan::operator-(), Botan::operator--(), Botan::operator--(), Botan::operator-=(), Botan::operator-=(), Botan::operator/(), Botan::operator/(), Botan::operator/=(), Botan::operator/=(), Botan::operator<<(), Botan::operator<<(), Botan::operator<<(), Botan::operator<<=(), Botan::operator<<=(), Botan::operator<=>(), Botan::operator<=>(), Botan::operator==(), Botan::operator==(), Botan::operator>>(), Botan::operator>>(), Botan::operator>>=(), Botan::operator>>=(), Botan::detail::Container_Strong_Adapter_Base< T >::operator[](), Botan::detail::Container_Strong_Adapter_Base< T >::operator[](), Botan::operator^(), Botan::operator^(), Botan::operator^=(), Botan::operator^=(), Botan::operator|(), Botan::operator|(), Botan::operator|=(), Botan::operator|=(), Botan::HSS_LMS_Params::params_at_level(), Botan::Classic_McEliece_Field_Ordering::permute_with_pivots(), pop_back(), Botan::TLS::Cipher_State::psk(), push_back(), Botan::Classic_McEliece_Encryptor::raw_kem_encrypt(), Botan::detail::Container_Strong_Adapter_Base< T >::reserve(), reserve(), Botan::detail::Container_Strong_Adapter_Base< T >::resize(), Botan::GF_Mask::select(), Botan::GF_Mask::select(), Botan::Classic_McEliece_PrivateKeyInternal::serialize(), Botan::TLS::New_Session_Ticket_12::serialize(), Botan::TLS::New_Session_Ticket_13::serialize(), set(), Botan::Sphincs_Address::set_chain_address(), Botan::Sphincs_Address::set_hash_address(), Botan::Sphincs_Address::set_keypair_address(), Botan::Sphincs_Address::set_layer_address(), Botan::Sphincs_Address::set_tree_address(), Botan::Sphincs_Address::set_tree_height(), Botan::Sphincs_Address::set_tree_index(), Botan::HSS_LMS_PrivateKeyInternal::sign(), Botan::LMS_PrivateKey::sign_and_get_pk(), Botan::HSS_Signature::signed_pub_key(), Botan::detail::Container_Strong_Adapter_Base< T >::size(), subvector(), subvector(), subvector_replace(), to_bytes(), to_bytes(), to_string(), Botan::treehash(), unset(), Botan::wots_public_key_from_signature(), and Botan::x448().
|
inlineconstexprinherited |
Definition at line 54 of file strong_type.h.
|
inlineconstexprinherited |
Definition at line 54 of file strong_type.h.
|
inlineconstexprinherited |
Definition at line 52 of file strong_type.h.
|
inlineconstexprinherited |
Definition at line 52 of file strong_type.h.
|
inlineconstexprinherited |
Definition at line 56 of file strong_type.h.
|
inlineconstexprinherited |
Definition at line 56 of file strong_type.h.
|
inline |
|
inline |
|
inline |
|
inlinenoexceptinherited |
Definition at line 127 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
|
inlinenoexceptinherited |
Definition at line 132 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
|
inline |
|
inlinenoexceptinherited |
Definition at line 114 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get(), and Botan::detail::Container_Strong_Adapter_Base< T >::size().
|
inline |
|
inlinenoexceptinherited |
Definition at line 106 of file strong_type.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::detail::Container_Strong_Adapter_Base< T >::reserve(), and Botan::detail::Container_Strong_Adapter_Base< T >::resize().
|
inline |
Definition at line 1390 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
Definition at line 1383 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
Referenced by Botan::Classic_McEliece_Matrix::mul().
|
inline |
Definition at line 1396 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
Definition at line 1432 of file bitvector.h.
References Botan::detail::Strong_Base< T >::get().
|
inline |
|
inline |
|
inline |