Botan 3.6.0
Crypto and TLS for C&
Botan::CRYSTALS::PolynomialMatrix< Trait > Class Template Reference

#include <pqcrystals.h>

Public Member Functions

void _const_time_poison () const
 
void _const_time_unpoison () const
 
decltype(auto) begin ()
 
decltype(auto) begin () const
 
decltype(auto) end ()
 
decltype(auto) end () const
 
ThisPolynomialMatrixoperator= (const ThisPolynomialMatrix &other)=delete
 
ThisPolynomialMatrixoperator= (ThisPolynomialMatrix &&other) noexcept=default
 
PolynomialVector< Trait, Domain::NTT > & operator[] (size_t i)
 
const PolynomialVector< Trait, Domain::NTT > & operator[] (size_t i) const
 
 PolynomialMatrix (const ThisPolynomialMatrix &other)=delete
 
 PolynomialMatrix (size_t rows, size_t cols)
 
 PolynomialMatrix (std::vector< PolynomialVector< Trait > > mat)
 
 PolynomialMatrix (ThisPolynomialMatrix &&other) noexcept=default
 
size_t size () const
 
 ~PolynomialMatrix ()=default
 

Detailed Description

template<crystals_trait Trait>
class Botan::CRYSTALS::PolynomialMatrix< Trait >

Definition at line 492 of file pqcrystals.h.

Constructor & Destructor Documentation

◆ PolynomialMatrix() [1/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( std::vector< PolynomialVector< Trait > > mat)
inline

Definition at line 500 of file pqcrystals.h.

500: m_mat(std::move(mat)) {}

◆ PolynomialMatrix() [2/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( const ThisPolynomialMatrix< Trait > & other)
delete

◆ PolynomialMatrix() [3/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( ThisPolynomialMatrix< Trait > && other)
defaultnoexcept

◆ ~PolynomialMatrix()

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::~PolynomialMatrix ( )
default

◆ PolynomialMatrix() [4/4]

template<crystals_trait Trait>
Botan::CRYSTALS::PolynomialMatrix< Trait >::PolynomialMatrix ( size_t rows,
size_t cols )
inline

Definition at line 510 of file pqcrystals.h.

510 {
511 m_mat.reserve(rows);
512 for(size_t i = 0; i < rows; ++i) {
513 m_mat.emplace_back(cols);
514 }
515 }

Member Function Documentation

◆ _const_time_poison()

template<crystals_trait Trait>
void Botan::CRYSTALS::PolynomialMatrix< Trait >::_const_time_poison ( ) const
inline

Definition at line 529 of file pqcrystals.h.

529{ CT::poison_range(m_mat); }
constexpr void poison_range(R &&r)
Definition ct_utils.h:175

References Botan::CT::poison_range().

◆ _const_time_unpoison()

template<crystals_trait Trait>
void Botan::CRYSTALS::PolynomialMatrix< Trait >::_const_time_unpoison ( ) const
inline

Definition at line 531 of file pqcrystals.h.

531{ CT::unpoison_range(m_mat); }
constexpr void unpoison_range(R &&r)
Definition ct_utils.h:183

References Botan::CT::unpoison_range().

◆ begin() [1/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::begin ( )
inline

Definition at line 521 of file pqcrystals.h.

521{ return m_mat.begin(); }

◆ begin() [2/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::begin ( ) const
inline

Definition at line 523 of file pqcrystals.h.

523{ return m_mat.begin(); }

◆ end() [1/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::end ( )
inline

Definition at line 525 of file pqcrystals.h.

525{ return m_mat.end(); }

◆ end() [2/2]

template<crystals_trait Trait>
decltype(auto) Botan::CRYSTALS::PolynomialMatrix< Trait >::end ( ) const
inline

Definition at line 527 of file pqcrystals.h.

527{ return m_mat.end(); }

◆ operator=() [1/2]

template<crystals_trait Trait>
ThisPolynomialMatrix & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator= ( const ThisPolynomialMatrix< Trait > & other)
delete

◆ operator=() [2/2]

template<crystals_trait Trait>
ThisPolynomialMatrix & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator= ( ThisPolynomialMatrix< Trait > && other)
defaultnoexcept

◆ operator[]() [1/2]

template<crystals_trait Trait>
PolynomialVector< Trait, Domain::NTT > & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator[] ( size_t i)
inline

Definition at line 517 of file pqcrystals.h.

517{ return m_mat[i]; }

◆ operator[]() [2/2]

template<crystals_trait Trait>
const PolynomialVector< Trait, Domain::NTT > & Botan::CRYSTALS::PolynomialMatrix< Trait >::operator[] ( size_t i) const
inline

Definition at line 519 of file pqcrystals.h.

519{ return m_mat[i]; }

◆ size()

template<crystals_trait Trait>
size_t Botan::CRYSTALS::PolynomialMatrix< Trait >::size ( ) const
inline

Definition at line 508 of file pqcrystals.h.

508{ return m_mat.size(); }

Referenced by Botan::CRYSTALS::operator*().


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