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

#include <strong_type.h>

Inheritance diagram for Botan::detail::Strong_Adapter< T >:
Botan::detail::Strong_Base< T > Botan::Strong< uint16_t, struct CmceGfElem_ > Botan::Strong< uint16_t, struct CmceGfMod_ > Botan::Strong< uint16_t, struct CmcePermutationElement_ > Botan::Strong< secure_vector< uint16_t >, struct CmcePermutation_ > Botan::Strong< secure_vector< uint8_t >, struct CmceInitialSeed_ > Botan::Strong< secure_vector< uint8_t >, struct CmceKeyGenSeed_ > Botan::Strong< secure_vector< uint8_t >, struct CmceOrderingBits_ > Botan::Strong< secure_vector< uint8_t >, struct CmceIrreducibleBits_ > Botan::Strong< secure_vector< uint8_t >, struct CmceRejectionSeed_ > Botan::Strong< secure_bitvector, struct CmceColumnSelection_ > Botan::Strong< secure_bitvector, struct CmceErrorVector_ > Botan::Strong< secure_bitvector, struct CmceCodeWord_ > Botan::Strong< std::array< uint8_t, X448_LEN >, struct Point448_ > Botan::Strong< std::array< uint8_t, X448_LEN >, struct ScalarX448_ > Botan::Strong< secure_vector< uint8_t >, struct DilithiumSeedRandomness_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumPublicSeed_ > Botan::Strong< secure_vector< uint8_t >, struct DilithiumSeedRhoPrime_ > Botan::Strong< secure_vector< uint8_t >, struct DilithiumOptionalRandomness_ > Botan::Strong< secure_vector< uint8_t >, struct DilithiumSeedK_ > Botan::Strong< secure_vector< uint8_t >, struct DilithiumSerializedPrivateKey_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumSerializedPublicKey_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumHashedPublicKey_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumMessageRepresentative_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumSerializedSignature_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumSerializedCommitment_ > Botan::Strong< std::vector< uint8_t >, struct DilithiumCommitmentHash_ > Botan::Strong< std::vector< uint8_t >, struct FrodoSeedA_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoSeedS_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoSeedSE_ > Botan::Strong< std::vector< uint8_t >, struct FrodoSeedZ_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoSampleR_ > Botan::Strong< std::vector< uint8_t >, struct FrodoPublicKeyHash_ > Botan::Strong< std::vector< uint8_t >, struct FrodoPackedMatrix_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoSerializedMatrix_ > Botan::Strong< std::array< uint8_t, 1 >, struct FrodoDoaminSeparator_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoPlaintext_ > Botan::Strong< std::vector< uint8_t >, struct FrodoSalt_ > Botan::Strong< secure_vector< uint8_t >, struct FrodoIntermediateSharedSecret_ > Botan::Strong< uint64_t, struct HSS_Sig_Idx_, EnableArithmeticWithPlainNumber > Botan::Strong< uint32_t, struct HSS_Level_, EnableArithmeticWithPlainNumber > Botan::Strong< secure_vector< uint8_t >, struct LMS_SEED_ > Botan::Strong< secure_vector< uint8_t >, struct LMOTS_Node_ > Botan::Strong< std::vector< uint8_t >, struct LMOTS_K_ > Botan::Strong< std::vector< uint8_t >, struct LMOTS_Signature_Bytes_ > Botan::Strong< uint32_t, struct LMS_Tree_Node_Idx_, EnableArithmeticWithPlainNumber > Botan::Strong< std::vector< uint8_t >, struct LMS_Identifier_ > Botan::Strong< std::vector< uint8_t >, struct LMS_Message_ > Botan::Strong< std::vector< uint8_t >, struct LMS_AuthenticationPath_ > Botan::Strong< std::vector< uint8_t >, struct LMS_Tree_Node_ > Botan::Strong< std::vector< uint8_t >, struct LMS_Signature_Bytes_ > Botan::Strong< secure_vector< uint8_t >, struct KyberSeedRandomness_ > Botan::Strong< std::vector< uint8_t >, struct KyberSeedRho_ > Botan::Strong< secure_vector< uint8_t >, struct KyberSeedSigma_ > Botan::Strong< secure_vector< uint8_t >, struct KyberImplicitRejectionValue_ > Botan::Strong< secure_vector< uint8_t >, struct KyberMessage_ > Botan::Strong< secure_vector< uint8_t >, struct KyberEncryptionRandomness_ > Botan::Strong< secure_vector< uint8_t >, struct KyberSamplingRandomness_ > Botan::Strong< secure_vector< uint8_t >, struct KyberSharedSecret_ > Botan::Strong< std::vector< uint8_t >, struct KyberSerializedPublicKey_ > Botan::Strong< std::vector< uint8_t >, struct KyberHashedPublicKey_ > Botan::Strong< std::vector< uint8_t >, struct KyberCompressedCiphertext_ > Botan::Strong< std::vector< uint8_t >, struct KyberHashedCiphertext_ > Botan::Strong< std::vector< uint8_t >, struct SphincsMessagePrefix_ > Botan::Strong< std::vector< uint8_t >, struct SphincsInputMessage_ > Botan::Strong< std::vector< uint8_t >, struct SphincsContext_ > Botan::Strong< std::vector< uint8_t >, struct SphincsHashedMessage_ > Botan::Strong< std::vector< uint8_t >, struct SphincsPublicSeed_ > Botan::Strong< secure_vector< uint8_t >, struct SphincsSecretSeed_ > Botan::Strong< secure_vector< uint8_t >, struct SphincsSecretPRF_ > Botan::Strong< secure_vector< uint8_t >, struct SphincsOptionalRandomness_ > Botan::Strong< secure_vector< uint8_t >, struct SphincsMessageRandomness_ > Botan::Strong< std::vector< uint8_t >, struct SphincsXmssSignature_ > Botan::Strong< std::vector< uint8_t >, struct SphincsAuthenticationPath_ > Botan::Strong< std::vector< uint8_t >, struct SphincsTreeNode_ > Botan::Strong< secure_vector< uint8_t >, struct ForsLeafSecret_ > Botan::Strong< std::vector< uint8_t >, struct ForsSignature_ > Botan::Strong< std::vector< uint8_t >, struct WotsPublicKey_ > Botan::Strong< std::vector< uint8_t >, struct WotsPublicKeyNode_ > Botan::Strong< secure_vector< uint8_t >, struct WotsNode_ > Botan::Strong< secure_vector< uint8_t >, struct WotsSignature_ > Botan::Strong< uint32_t, struct TreeLayerIndex_, EnableArithmeticWithPlainNumber > Botan::Strong< uint32_t, struct HypertreeLayerIndex_ > Botan::Strong< uint64_t, struct XmssTreeIndexInLayer_, EnableArithmeticWithPlainNumber > Botan::Strong< uint32_t, struct TreeNodeIndex_, EnableArithmeticWithPlainNumber > Botan::Strong< uint32_t, struct WotsChainIndex_ > Botan::Strong< uint8_t, struct WotsHashIndex_, EnableArithmeticWithPlainNumber > Botan::Strong< std::string, struct PresharedKeyID_ > Botan::Strong< std::vector< uint8_t >, struct Ticket_Nonce_ > Botan::Strong< std::vector< uint8_t >, struct Session_ID_ > Botan::Strong< std::vector< uint8_t >, struct Session_Ticket_ > Botan::Strong< std::vector< uint8_t >, struct Opaque_Session_Handle_ >

Public Types

using wrapped_type = T
 

Public Member Functions

constexpr T & get () &
 
constexpr T && get () &&
 
constexpr const T & get () const &
 
constexpr const T && get () const &&
 

Detailed Description

template<typename T>
class Botan::detail::Strong_Adapter< T >

Definition at line 61 of file strong_type.h.

Member Typedef Documentation

◆ wrapped_type

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

Definition at line 40 of file strong_type.h.

Member Function Documentation

◆ get() [1/4]

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

Definition at line 51 of file strong_type.h.

51{ 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::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::detail::Strong_Adapter< T >::none_vartime(), Botan::operator&(), 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::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::operator|=(), Botan::operator|=(), Botan::HSS_LMS_Params::params_at_level(), 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::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 55 of file strong_type.h.

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

◆ get() [3/4]

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

Definition at line 53 of file strong_type.h.

53{ return m_value; }

◆ get() [4/4]

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

Definition at line 57 of file strong_type.h.

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

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