Botan 3.7.1
Crypto and TLS for C&
Botan::detail::Strong_Adapter< T > Class Template Reference

#include <bitvector.h>

Inheritance diagram for Botan::detail::Strong_Adapter< T >:
Botan::detail::Container_Strong_Adapter_Base< T > Botan::detail::Strong_Base< T > Botan::detail::Container_Strong_Adapter_Base< T > Botan::detail::Container_Strong_Adapter_Base< T > Botan::detail::Strong_Base< T > Botan::detail::Strong_Base< T > Botan::detail::Strong_Base< T > Botan::Strong< T, TagTypeT, Capabilities >

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 Tget () &
 
constexpr Tget () &
 
constexpr T && get () &&
 
constexpr T && get () &&
 
constexpr const Tget () const &
 
constexpr const Tget () 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)
 

Detailed Description

template<concepts::contiguous_container T>
class Botan::detail::Strong_Adapter< T >

A Strong<> adapter for arbitrarily large bitvectors

Definition at line 158 of file strong_type.h.

Member Typedef Documentation

◆ const_iterator

template<concepts::container T>
using Botan::detail::Container_Strong_Adapter_Base< T >::const_iterator = typename T::const_iterator
inherited

Definition at line 77 of file strong_type.h.

◆ const_pointer

template<concepts::contiguous_container T>
using Botan::detail::Strong_Adapter< T >::const_pointer = typename T::const_pointer

Definition at line 161 of file strong_type.h.

◆ iterator

template<concepts::container T>
using Botan::detail::Container_Strong_Adapter_Base< T >::iterator = typename T::iterator
inherited

Definition at line 76 of file strong_type.h.

◆ pointer

template<concepts::contiguous_container T>
using Botan::detail::Strong_Adapter< T >::pointer = typename T::pointer

Definition at line 160 of file strong_type.h.

◆ size_type

template<concepts::contiguous_container T>
using Botan::detail::Strong_Adapter< T >::size_type = typename T::size_type

Definition at line 1360 of file bitvector.h.

◆ value_type

template<concepts::container T>
using Botan::detail::Container_Strong_Adapter_Base< T >::value_type = typename T::value_type
inherited

Definition at line 74 of file strong_type.h.

◆ wrapped_type [1/2]

template<typename T >
using Botan::detail::Strong_Base< T >::wrapped_type = T
inherited

Definition at line 39 of file strong_type.h.

◆ wrapped_type [2/2]

template<typename T >
using Botan::detail::Strong_Base< T >::wrapped_type = T
inherited

Definition at line 39 of file strong_type.h.

Constructor & Destructor Documentation

◆ Strong_Adapter() [1/2]

template<concepts::contiguous_container T>
Botan::detail::Strong_Adapter< T >::Strong_Adapter ( std::span< const typename Container_Strong_Adapter_Base< T >::value_type > span)
inlineexplicit

Definition at line 166 of file strong_type.h.

166 :
167 Strong_Adapter(T(span.begin(), span.end())) {}
Strong_Adapter(std::span< const typename Container_Strong_Adapter_Base< T >::value_type > span)
FE_25519 T
Definition ge.cpp:34

◆ Strong_Adapter() [2/2]

template<concepts::contiguous_container T>
Botan::detail::Strong_Adapter< T >::Strong_Adapter ( const char * str)
inlineexplicit

Definition at line 172 of file strong_type.h.

174 : Strong_Adapter(std::string(str)) {}

Member Function Documentation

◆ _const_time_poison()

template<concepts::contiguous_container T>
void Botan::detail::Strong_Adapter< T >::_const_time_poison ( ) const
inlineconstexpr

Definition at line 1444 of file bitvector.h.

1444{ this->get()._const_time_poison(); }
constexpr T & get() &
Definition strong_type.h:50

References Botan::detail::Strong_Base< T >::get().

◆ _const_time_unpoison()

template<concepts::contiguous_container T>
void Botan::detail::Strong_Adapter< T >::_const_time_unpoison ( ) const
inlineconstexpr

Definition at line 1446 of file bitvector.h.

1446{ this->get()._const_time_unpoison(); }

References Botan::detail::Strong_Base< T >::get().

◆ all_vartime()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::all_vartime ( ) const
inline

Definition at line 1419 of file bitvector.h.

1419{ return this->get().all_vartime(); }

References Botan::detail::Strong_Base< T >::get().

◆ any_vartime()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::any_vartime ( ) const
inline

Definition at line 1417 of file bitvector.h.

1417{ return this->get().any_vartime(); }

References Botan::detail::Strong_Base< T >::get().

◆ as()

template<concepts::contiguous_container T>
template<typename OutT >
auto Botan::detail::Strong_Adapter< T >::as ( ) const
inline

Definition at line 1378 of file bitvector.h.

1378 {
1379 return this->get().template as<OutT>();
1380 }

References Botan::detail::Strong_Base< T >::get().

◆ at() [1/4]

template<concepts::container T>
template<typename U >
requires (concepts::has_bounds_checked_accessors<T>)
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::at ( U && i) const
inlinenoexceptinherited

Definition at line 137 of file strong_type.h.

139 {
140 return this->get().at(std::forward<U>(i));
141 }

References Botan::detail::Strong_Base< T >::get().

◆ at() [2/4]

template<concepts::container T>
template<typename U >
requires (concepts::has_bounds_checked_accessors<T>)
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::at ( U && i)
inlinenoexceptinherited

Definition at line 144 of file strong_type.h.

146 {
147 return this->get().at(std::forward<U>(i));
148 }

References Botan::detail::Strong_Base< T >::get().

◆ at() [3/4]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::at ( size_type i)
inline

Definition at line 1367 of file bitvector.h.

1367{ return this->get().at(i); }

References Botan::detail::Strong_Base< T >::get().

◆ at() [4/4]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::at ( size_type i) const
inline

Definition at line 1365 of file bitvector.h.

1365{ return this->get().at(i); }

References Botan::detail::Strong_Base< T >::get().

Referenced by Botan::LMOTS_Private_Key::chain_input().

◆ back() [1/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::back ( )
inline

Definition at line 1415 of file bitvector.h.

1415{ return this->get().back(); }

References Botan::detail::Strong_Base< T >::get().

◆ back() [2/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::back ( ) const
inline

Definition at line 1413 of file bitvector.h.

1413{ return this->get().back(); }

References Botan::detail::Strong_Base< T >::get().

◆ begin() [1/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::begin ( ) const
inlinenoexceptinherited

Definition at line 92 of file strong_type.h.

92{ return this->get().begin(); }

References Botan::detail::Strong_Base< T >::get().

◆ begin() [2/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::begin ( )
inlinenoexceptinherited

Definition at line 90 of file strong_type.h.

90{ return this->get().begin(); }

References Botan::detail::Strong_Base< T >::get().

Referenced by Botan::encode_point(), and Botan::wots_sign_and_pkgen().

◆ capacity()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::capacity ( ) const
inline

Definition at line 1440 of file bitvector.h.

1440{ return this->get().capacity(); }

References Botan::detail::Strong_Base< T >::get().

◆ cbegin() [1/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::cbegin ( ) const
inlinenoexceptinherited

Definition at line 100 of file strong_type.h.

100{ return this->get().cbegin(); }

References Botan::detail::Strong_Base< T >::get().

◆ cbegin() [2/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::cbegin ( )
inlinenoexceptinherited

Definition at line 98 of file strong_type.h.

98{ return this->get().cbegin(); }

References Botan::detail::Strong_Base< T >::get().

◆ cend() [1/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::cend ( ) const
inlinenoexceptinherited

Definition at line 104 of file strong_type.h.

104{ return this->get().cend(); }

References Botan::detail::Strong_Base< T >::get().

◆ cend() [2/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::cend ( )
inlinenoexceptinherited

Definition at line 102 of file strong_type.h.

102{ return this->get().cend(); }

References Botan::detail::Strong_Base< T >::get().

◆ data() [1/2]

template<concepts::contiguous_container T>
decltype(auto) Botan::detail::Strong_Adapter< T >::data ( ) const
inlinenoexcept

Definition at line 179 of file strong_type.h.

179{ return this->get().data(); }

References Botan::detail::Strong_Base< T >::get().

◆ data() [2/2]

template<concepts::contiguous_container T>
decltype(auto) Botan::detail::Strong_Adapter< T >::data ( )
inlinenoexcept

Definition at line 177 of file strong_type.h.

177{ return this->get().data(); }

References Botan::detail::Strong_Base< T >::get().

Referenced by Botan::FrodoMatrix::serialize().

◆ empty()

template<concepts::container T>
bool Botan::detail::Container_Strong_Adapter_Base< T >::empty ( ) const
inlinenoexceptinherited

Definition at line 108 of file strong_type.h.

110 {
111 return this->get().empty();
112 }

References Botan::detail::Strong_Base< T >::get().

◆ end() [1/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::end ( ) const
inlinenoexceptinherited

Definition at line 96 of file strong_type.h.

96{ return this->get().end(); }

References Botan::detail::Strong_Base< T >::get().

◆ end() [2/2]

template<concepts::container T>
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::end ( )
inlinenoexceptinherited

Definition at line 94 of file strong_type.h.

94{ return this->get().end(); }

References Botan::detail::Strong_Base< T >::get().

Referenced by Botan::encode_point().

◆ equals()

template<concepts::contiguous_container T>
template<bitvectorish OtherT>
auto Botan::detail::Strong_Adapter< T >::equals ( const OtherT & other) const
inline

Definition at line 1401 of file bitvector.h.

1401 {
1402 return this->get().equals(other);
1403 }

References Botan::detail::Strong_Base< T >::get().

◆ flip() [1/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::flip ( )
inline

Definition at line 1375 of file bitvector.h.

1375{ return this->get().flip(); }

References Botan::detail::Strong_Base< T >::get().

◆ flip() [2/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::flip ( size_type i)
inline

Definition at line 1373 of file bitvector.h.

1373{ return this->get().flip(i); }

References Botan::detail::Strong_Base< T >::get().

◆ from_bytes()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::from_bytes ( std::span< const uint8_t > bytes,
std::optional< size_type > bits = std::nullopt )
inline

Definition at line 1427 of file bitvector.h.

1427 {
1428 return this->get().from_bytes(bytes, bits);
1429 }

References Botan::detail::Strong_Base< T >::get().

◆ front() [1/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::front ( )
inline

Definition at line 1411 of file bitvector.h.

1411{ return this->get().front(); }

References Botan::detail::Strong_Base< T >::get().

◆ front() [2/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::front ( ) const
inline

Definition at line 1409 of file bitvector.h.

1409{ return this->get().front(); }

References Botan::detail::Strong_Base< T >::get().

◆ get() [1/8]

template<typename T >
T & Botan::detail::Strong_Base< T >::get ( ) &
inlineconstexprinherited

Definition at line 50 of file strong_type.h.

50{ return m_value; }

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().

◆ get() [2/8]

template<typename T >
T & Botan::detail::Strong_Base< T >::get ( ) &
inlineconstexprinherited

Definition at line 50 of file strong_type.h.

50{ return m_value; }

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().

◆ get() [3/8]

template<typename T >
T && Botan::detail::Strong_Base< T >::get ( ) &&
inlineconstexprinherited

Definition at line 54 of file strong_type.h.

54{ return std::move(m_value); }

◆ get() [4/8]

template<typename T >
T && Botan::detail::Strong_Base< T >::get ( ) &&
inlineconstexprinherited

Definition at line 54 of file strong_type.h.

54{ return std::move(m_value); }

◆ get() [5/8]

template<typename T >
const T & Botan::detail::Strong_Base< T >::get ( ) const &
inlineconstexprinherited

Definition at line 52 of file strong_type.h.

52{ return m_value; }

◆ get() [6/8]

template<typename T >
const T & Botan::detail::Strong_Base< T >::get ( ) const &
inlineconstexprinherited

Definition at line 52 of file strong_type.h.

52{ return m_value; }

◆ get() [7/8]

template<typename T >
const T && Botan::detail::Strong_Base< T >::get ( ) const &&
inlineconstexprinherited

Definition at line 56 of file strong_type.h.

56{ return std::move(m_value); }

◆ get() [8/8]

template<typename T >
const T && Botan::detail::Strong_Base< T >::get ( ) const &&
inlineconstexprinherited

Definition at line 56 of file strong_type.h.

56{ return std::move(m_value); }

◆ hamming_weight()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::hamming_weight ( ) const
inline

Definition at line 1425 of file bitvector.h.

1425{ return this->get().hamming_weight(); }

References Botan::detail::Strong_Base< T >::get().

◆ has_odd_hamming_weight()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::has_odd_hamming_weight ( ) const
inline

Definition at line 1423 of file bitvector.h.

1423{ return this->get().has_odd_hamming_weight(); }

References Botan::detail::Strong_Base< T >::get().

◆ none_vartime()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::none_vartime ( ) const
inline

Definition at line 1421 of file bitvector.h.

1421{ return this->get().none_vartime(); }

References Botan::detail::Strong_Base< T >::get().

◆ operator[]() [1/2]

template<concepts::container T>
template<typename U >
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::operator[] ( U && i) const
inlinenoexceptinherited

Definition at line 127 of file strong_type.h.

127 {
128 return this->get()[std::forward<U>(i)];
129 }

References Botan::detail::Strong_Base< T >::get().

◆ operator[]() [2/2]

template<concepts::container T>
template<typename U >
decltype(auto) Botan::detail::Container_Strong_Adapter_Base< T >::operator[] ( U && i)
inlinenoexceptinherited

Definition at line 132 of file strong_type.h.

132 {
133 return this->get()[std::forward<U>(i)];
134 }

References Botan::detail::Strong_Base< T >::get().

◆ pop_back()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::pop_back ( )
inline

Definition at line 1407 of file bitvector.h.

1407{ return this->get().pop_back(); }

References Botan::detail::Strong_Base< T >::get().

◆ push_back()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::push_back ( bool b)
inline

Definition at line 1405 of file bitvector.h.

1405{ return this->get().push_back(b); }
const SIMD_8x32 & b

References Botan::detail::Strong_Base< T >::get().

◆ reserve()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::reserve ( size_type n)
inline

Definition at line 1442 of file bitvector.h.

1442{ return this->get().reserve(n); }

References Botan::detail::Strong_Base< T >::get().

◆ resize()

template<concepts::container T>
void Botan::detail::Container_Strong_Adapter_Base< T >::resize ( size_type size)
inlinenoexceptinherited

Definition at line 114 of file strong_type.h.

116 {
117 this->get().resize(size);
118 }
size_type size() const noexcept(noexcept(this->get().size()))

References Botan::detail::Strong_Base< T >::get(), and Botan::detail::Container_Strong_Adapter_Base< T >::size().

◆ set()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::set ( size_type i)
inline

Definition at line 1369 of file bitvector.h.

1369{ return this->get().set(i); }

References Botan::detail::Strong_Base< T >::get().

◆ size()

template<concepts::container T>
size_type Botan::detail::Container_Strong_Adapter_Base< T >::size ( ) const
inlinenoexceptinherited

◆ subvector() [1/2]

template<concepts::contiguous_container T>
template<typename OutT >
requires (std::unsigned_integral<strong_type_wrapped_type<OutT>> && !std::same_as<bool, strong_type_wrapped_type<OutT>>)
auto Botan::detail::Strong_Adapter< T >::subvector ( size_type pos) const
inline

Definition at line 1390 of file bitvector.h.

1390 {
1391 return this->get().template subvector<OutT>(pos);
1392 }
auto subvector(size_type pos, std::optional< size_type > length=std::nullopt) const
Definition bitvector.h:1383

References Botan::detail::Strong_Base< T >::get().

◆ subvector() [2/2]

template<concepts::contiguous_container T>
template<bitvectorish OutT = T>
auto Botan::detail::Strong_Adapter< T >::subvector ( size_type pos,
std::optional< size_type > length = std::nullopt ) const
inline

Definition at line 1383 of file bitvector.h.

1383 {
1384 return this->get().template subvector<OutT>(pos, length);
1385 }

References Botan::detail::Strong_Base< T >::get().

Referenced by Botan::Classic_McEliece_Matrix::mul().

◆ subvector_replace()

template<concepts::contiguous_container T>
template<typename InT >
requires (std::unsigned_integral<strong_type_wrapped_type<InT>> && !std::same_as<bool, InT>)
void Botan::detail::Strong_Adapter< T >::subvector_replace ( size_type pos,
InT value )
inline

Definition at line 1396 of file bitvector.h.

1396 {
1397 return this->get().subvector_replace(pos, value);
1398 }

References Botan::detail::Strong_Base< T >::get().

◆ to_bytes() [1/2]

template<concepts::contiguous_container T>
template<typename OutT = T>
auto Botan::detail::Strong_Adapter< T >::to_bytes ( ) const
inline

Definition at line 1432 of file bitvector.h.

1432 {
1433 return this->get().template to_bytes<OutT>();
1434 }

References Botan::detail::Strong_Base< T >::get().

◆ to_bytes() [2/2]

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::to_bytes ( std::span< uint8_t > out) const
inline

Definition at line 1436 of file bitvector.h.

1436{ return this->get().to_bytes(out); }

References Botan::detail::Strong_Base< T >::get().

◆ to_string()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::to_string ( ) const
inline

Definition at line 1438 of file bitvector.h.

1438{ return this->get().to_string(); }

References Botan::detail::Strong_Base< T >::get().

◆ unset()

template<concepts::contiguous_container T>
auto Botan::detail::Strong_Adapter< T >::unset ( size_type i)
inline

Definition at line 1371 of file bitvector.h.

1371{ return this->get().unset(i); }

References Botan::detail::Strong_Base< T >::get().


The documentation for this class was generated from the following files: