MCKL
Monte Carlo Kernel Library
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator > Class Template Reference

#include <mckl/random/internal/aes_key_seq.hpp>

Public Types

using key_type = typename KeySeqGenerator::key_type
 
using rk_type = typename KeySeqGenerator::rk_type
 

Public Member Functions

const std::array< rk_type, rounds()+1 > & get () const
 
template<std::size_t N>
const rk_typeget () const
 
key_type key () const
 
void set (const key_type &key)
 

Static Public Member Functions

static constexpr std::size_t rounds ()
 

Friends

bool operator!= (const AESKeySeqImpl< Rounds, KeySeqGenerator > &seq1, const AESKeySeqImpl< Rounds, KeySeqGenerator > &seq2)
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const AESKeySeqImpl< Rounds, KeySeqGenerator > &seq)
 
bool operator== (const AESKeySeqImpl< Rounds, KeySeqGenerator > &seq1, const AESKeySeqImpl< Rounds, KeySeqGenerator > &seq2)
 
template<typename CharT , typename Traits >
std::basic_istream< CharT, Traits > & operator>> (std::basic_istream< CharT, Traits > &is, AESKeySeqImpl< Rounds, KeySeqGenerator > &seq)
 

Detailed Description

template<std::size_t Rounds, typename KeySeqGenerator>
class mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >

Definition at line 44 of file aes_key_seq.hpp.

Member Typedef Documentation

◆ key_type

template<std::size_t Rounds, typename KeySeqGenerator>
using mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::key_type = typename KeySeqGenerator::key_type

Definition at line 47 of file aes_key_seq.hpp.

◆ rk_type

template<std::size_t Rounds, typename KeySeqGenerator>
using mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::rk_type = typename KeySeqGenerator::rk_type

Definition at line 48 of file aes_key_seq.hpp.

Member Function Documentation

◆ get() [1/2]

template<std::size_t Rounds, typename KeySeqGenerator>
const std::array<rk_type, rounds() + 1>& mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::get ( ) const
inline

Definition at line 60 of file aes_key_seq.hpp.

◆ get() [2/2]

template<std::size_t Rounds, typename KeySeqGenerator>
template<std::size_t N>
const rk_type& mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::get ( ) const
inline

Definition at line 63 of file aes_key_seq.hpp.

◆ key()

template<std::size_t Rounds, typename KeySeqGenerator>
key_type mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::key ( ) const
inline

Definition at line 52 of file aes_key_seq.hpp.

◆ rounds()

template<std::size_t Rounds, typename KeySeqGenerator>
static constexpr std::size_t mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::rounds ( )
inlinestatic

Definition at line 50 of file aes_key_seq.hpp.

◆ set()

template<std::size_t Rounds, typename KeySeqGenerator>
void mckl::internal::AESKeySeqImpl< Rounds, KeySeqGenerator >::set ( const key_type key)
inline

Definition at line 54 of file aes_key_seq.hpp.

Friends And Related Function Documentation

◆ operator!=

template<std::size_t Rounds, typename KeySeqGenerator>
bool operator!= ( const AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq1,
const AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq2 
)
friend

Definition at line 81 of file aes_key_seq.hpp.

◆ operator<<

template<std::size_t Rounds, typename KeySeqGenerator>
template<typename CharT , typename Traits >
std::basic_ostream<CharT, Traits>& operator<< ( std::basic_ostream< CharT, Traits > &  os,
const AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq 
)
friend

Definition at line 88 of file aes_key_seq.hpp.

◆ operator==

template<std::size_t Rounds, typename KeySeqGenerator>
bool operator== ( const AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq1,
const AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq2 
)
friend

Definition at line 68 of file aes_key_seq.hpp.

◆ operator>>

template<std::size_t Rounds, typename KeySeqGenerator>
template<typename CharT , typename Traits >
std::basic_istream<CharT, Traits>& operator>> ( std::basic_istream< CharT, Traits > &  is,
AESKeySeqImpl< Rounds, KeySeqGenerator > &  seq 
)
friend

Definition at line 105 of file aes_key_seq.hpp.