nil::crypto3::zk::snark::integer_permutation Class Reference

#include <integer_permutation.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::integer_permutation:

Public Member Functions

std::vector< std::size_t > & data ()
 
const std::vector< std::size_t > & data () const
 
std::size_t get (const std::size_t position) const
 
 integer_permutation (const std::size_t min_element, const std::size_t max_element)
 
 integer_permutation (const std::size_t size=0)
 
integer_permutation inverse () const
 
bool is_valid () const
 
bool next_permutation ()
 
integer_permutationoperator= (const integer_permutation &other)=default
 
bool operator== (const integer_permutation &other) const
 
void random_shuffle ()
 
void set (const std::size_t position, const std::size_t value)
 
std::size_t size () const
 
integer_permutation slice (const std::size_t slice_min_element, const std::size_t slice_max_element) const
 

Public Attributes

std::size_t max_element
 
std::size_t min_element
 

Constructor & Destructor Documentation

◆ integer_permutation() [1/2]

nil::crypto3::zk::snark::integer_permutation::integer_permutation ( const std::size_t  size = 0)
inline

◆ integer_permutation() [2/2]

nil::crypto3::zk::snark::integer_permutation::integer_permutation ( const std::size_t  min_element,
const std::size_t  max_element 
)
inline

Member Function Documentation

◆ data() [1/2]

std::vector<std::size_t>& nil::crypto3::zk::snark::integer_permutation::data ( )
inline

◆ data() [2/2]

const std::vector<std::size_t>& nil::crypto3::zk::snark::integer_permutation::data ( ) const
inline

◆ get()

std::size_t nil::crypto3::zk::snark::integer_permutation::get ( const std::size_t  position) const
inline

◆ inverse()

integer_permutation nil::crypto3::zk::snark::integer_permutation::inverse ( ) const
inline

◆ is_valid()

bool nil::crypto3::zk::snark::integer_permutation::is_valid ( ) const
inline

◆ next_permutation()

bool nil::crypto3::zk::snark::integer_permutation::next_permutation ( )
inline

◆ operator=()

integer_permutation& nil::crypto3::zk::snark::integer_permutation::operator= ( const integer_permutation other)
default

◆ operator==()

bool nil::crypto3::zk::snark::integer_permutation::operator== ( const integer_permutation other) const
inline

◆ random_shuffle()

void nil::crypto3::zk::snark::integer_permutation::random_shuffle ( )
inline

◆ set()

void nil::crypto3::zk::snark::integer_permutation::set ( const std::size_t  position,
const std::size_t  value 
)
inline

◆ size()

std::size_t nil::crypto3::zk::snark::integer_permutation::size ( ) const
inline

◆ slice()

integer_permutation nil::crypto3::zk::snark::integer_permutation::slice ( const std::size_t  slice_min_element,
const std::size_t  slice_max_element 
) const
inline

Member Data Documentation

◆ max_element

std::size_t nil::crypto3::zk::snark::integer_permutation::max_element

◆ min_element

std::size_t nil::crypto3::zk::snark::integer_permutation::min_element

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