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

#include <strong_type.h>

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

Public Types

using const_iterator = typename T::const_iterator
 
using iterator = typename T::iterator
 
using size_type = typename T::size_type
 
using value_type = typename T::value_type
 
using wrapped_type = T
 

Public Member Functions

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)))
 
decltype(auto) begin () const noexcept(noexcept(this->get().begin()))
 
decltype(auto) begin () noexcept(noexcept(this->get().begin()))
 
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()))
 
template<typename InputIt >
 Container_Strong_Adapter_Base (InputIt begin, InputIt end)
 
 Container_Strong_Adapter_Base (size_t size)
 
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()))
 
constexpr Tget () &
 
constexpr T && get () &&
 
constexpr const Tget () const &
 
constexpr const T && get () 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)))
 
void reserve (size_type size) noexcept(noexcept(this->get().reserve(size)))
 
void resize (size_type size) noexcept(noexcept(this->get().resize(size)))
 
size_type size () const noexcept(noexcept(this->get().size()))
 

Detailed Description

template<concepts::container T>
class Botan::detail::Container_Strong_Adapter_Base< T >

Definition at line 72 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

Definition at line 77 of file strong_type.h.

◆ iterator

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

Definition at line 76 of file strong_type.h.

◆ size_type

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

Definition at line 75 of file strong_type.h.

◆ value_type

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

Definition at line 74 of file strong_type.h.

◆ wrapped_type

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

◆ Container_Strong_Adapter_Base() [1/2]

template<concepts::container T>
Botan::detail::Container_Strong_Adapter_Base< T >::Container_Strong_Adapter_Base ( size_t size)
inlineexplicit

Definition at line 82 of file strong_type.h.

size_type size() const noexcept(noexcept(this->get().size()))
FE_25519 T
Definition ge.cpp:34

◆ Container_Strong_Adapter_Base() [2/2]

template<concepts::container T>
template<typename InputIt >
Botan::detail::Container_Strong_Adapter_Base< T >::Container_Strong_Adapter_Base ( InputIt begin,
InputIt end )
inline

Definition at line 87 of file strong_type.h.

decltype(auto) begin() noexcept(noexcept(this->get().begin()))
Definition strong_type.h:90
decltype(auto) end() noexcept(noexcept(this->get().end()))
Definition strong_type.h:94

Member Function Documentation

◆ at() [1/2]

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
inlinenoexcept

Definition at line 137 of file strong_type.h.

139 {
140 return this->get().at(std::forward<U>(i));
141 }
constexpr T & get() &
Definition strong_type.h:50

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

◆ at() [2/2]

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)
inlinenoexcept

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

◆ begin() [1/2]

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

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

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

◆ cbegin() [1/2]

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

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

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
inlinenoexcept

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

Definition at line 102 of file strong_type.h.

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

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

◆ empty()

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

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
inlinenoexcept

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

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

◆ get() [1/4]

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 Botan::detail::Strong_Adapter< T >::_const_time_poison(), Botan::detail::Strong_Adapter< T >::_const_time_unpoison(), Botan::detail::Strong_Adapter< T >::all_vartime(), Botan::Classic_McEliece_Field_Ordering::alphas(), Botan::Classic_McEliece_Field_Ordering::alphas_control_bits(), Botan::detail::Strong_Adapter< T >::any_vartime(), Botan::detail::Strong_Adapter< T >::as(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), Botan::detail::Container_Strong_Adapter_Base< T >::at(), Botan::detail::Strong_Adapter< T >::at(), Botan::detail::Strong_Adapter< T >::at(), Botan::detail::Strong_Adapter< T >::back(), Botan::detail::Strong_Adapter< T >::back(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), Botan::detail::Container_Strong_Adapter_Base< T >::begin(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::data(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::equals(), Botan::GF_Mask::expand(), Botan::detail::Strong_Adapter< T >::flip(), Botan::detail::Strong_Adapter< T >::flip(), Botan::detail::Strong_Adapter< T >::from_bytes(), Botan::detail::Strong_Adapter< T >::front(), Botan::detail::Strong_Adapter< T >::front(), Botan::detail::Strong_Adapter< T >::hamming_weight(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::pop_back(), Botan::TLS::Cipher_State::psk(), Botan::detail::Strong_Adapter< T >::push_back(), Botan::Classic_McEliece_Encryptor::raw_kem_encrypt(), Botan::detail::Container_Strong_Adapter_Base< T >::reserve(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::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(), Botan::detail::Strong_Adapter< T >::subvector(), Botan::detail::Strong_Adapter< T >::subvector(), Botan::detail::Strong_Adapter< T >::subvector_replace(), Botan::detail::Strong_Adapter< T >::to_bytes(), Botan::detail::Strong_Adapter< T >::to_bytes(), Botan::detail::Strong_Adapter< T >::to_string(), Botan::treehash(), Botan::detail::Strong_Adapter< T >::unset(), Botan::wots_public_key_from_signature(), and Botan::x448().

◆ get() [2/4]

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() [3/4]

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() [4/4]

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); }

◆ operator[]() [1/2]

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

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)
inlinenoexcept

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

◆ reserve()

template<concepts::container T>
void Botan::detail::Container_Strong_Adapter_Base< T >::reserve ( size_type size)
inlinenoexcept

Definition at line 120 of file strong_type.h.

122 {
123 this->get().reserve(size);
124 }

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

◆ resize()

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

Definition at line 114 of file strong_type.h.

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

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

◆ size()

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

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