MCKL
Monte Carlo Kernel Library
Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
mckl::internal::ARSKeySeqImpl< 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

std::array< rk_type, rounds()+1 > get () const
 
const key_typekey () const
 
void set (const key_type &key)
 

Static Public Member Functions

static constexpr std::size_t rounds ()
 

Friends

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

Detailed Description

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

Definition at line 128 of file aes_key_seq.hpp.

Member Typedef Documentation

◆ key_type

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

Definition at line 131 of file aes_key_seq.hpp.

◆ rk_type

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

Definition at line 132 of file aes_key_seq.hpp.

Member Function Documentation

◆ get()

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

Definition at line 140 of file aes_key_seq.hpp.

◆ key()

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

Definition at line 136 of file aes_key_seq.hpp.

◆ rounds()

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

Definition at line 134 of file aes_key_seq.hpp.

◆ set()

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

Definition at line 138 of file aes_key_seq.hpp.

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 155 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 ARSKeySeqImpl< Rounds, KeySeqGenerator > &  seq 
)
friend

Definition at line 162 of file aes_key_seq.hpp.

◆ operator==

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

Definition at line 149 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,
ARSKeySeqImpl< Rounds, KeySeqGenerator > &  seq 
)
friend

Definition at line 176 of file aes_key_seq.hpp.