nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > > Struct Template Reference

#include <weighted_shamir.hpp>

+ Collaboration diagram for nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >:

Public Types

typedef share_type data_type
 
typedef share_type::first_type index_type
 
typedef scheme_type::indexes_type indexes_type
 
typedef share_sss< shamir_sss< Group > > part_share_type
 
typedef weighted_shamir_sss< Group > scheme_type
 
typedef std::pair< std::size_t, std::vector< part_share_type > > share_type
 
typedef share_type::second_type value_type
 

Public Member Functions

const data_typeget_data () const
 
index_type get_index () const
 
const indexes_typeget_indexes () const
 
std::size_t get_threshold_number () const
 
const value_typeget_value () const
 
std::size_t get_weight () const
 
 operator public_share_sss< scheme_type > () const
 
bool operator< (const share_sss &other) const
 
bool operator== (const share_sss &other) const
 
 share_sss ()=default
 
 share_sss (std::size_t i, std::size_t w, std::size_t threshold_number)
 
part_share_type to_shamir (const typename scheme_type::weights_type &confirmed_weights) const
 
void update (const typename scheme_type::coeff_type &coeff, std::size_t exp)
 

Member Typedef Documentation

◆ data_type

template<typename Group >
typedef share_type nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::data_type

◆ index_type

template<typename Group >
typedef share_type::first_type nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::index_type

◆ indexes_type

◆ part_share_type

template<typename Group >
typedef share_sss<shamir_sss<Group> > nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::part_share_type

◆ scheme_type

template<typename Group >
typedef weighted_shamir_sss<Group> nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::scheme_type

◆ share_type

template<typename Group >
typedef std::pair<std::size_t, std::vector<part_share_type> > nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::share_type

◆ value_type

template<typename Group >
typedef share_type::second_type nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::value_type

Constructor & Destructor Documentation

◆ share_sss() [1/2]

template<typename Group >
nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::share_sss ( )
default

◆ share_sss() [2/2]

template<typename Group >
nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::share_sss ( std::size_t  i,
std::size_t  w,
std::size_t  threshold_number 
)
inline

Member Function Documentation

◆ get_data()

template<typename Group >
const data_type& nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_data ( ) const
inline

◆ get_index()

template<typename Group >
index_type nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_index ( ) const
inline

◆ get_indexes()

template<typename Group >
const indexes_type& nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_indexes ( ) const
inline

◆ get_threshold_number()

template<typename Group >
std::size_t nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_threshold_number ( ) const
inline

◆ get_value()

template<typename Group >
const value_type& nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_value ( ) const
inline

◆ get_weight()

template<typename Group >
std::size_t nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::get_weight ( ) const
inline

◆ operator public_share_sss< scheme_type >()

template<typename Group >
nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::operator public_share_sss< scheme_type > ( ) const
inline

◆ operator<()

template<typename Group >
bool nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::operator< ( const share_sss< weighted_shamir_sss< Group > > &  other) const
inline

◆ operator==()

template<typename Group >
bool nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::operator== ( const share_sss< weighted_shamir_sss< Group > > &  other) const
inline

◆ to_shamir()

template<typename Group >
part_share_type nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::to_shamir ( const typename scheme_type::weights_type confirmed_weights) const
inline

◆ update()

template<typename Group >
void nil::crypto3::pubkey::share_sss< weighted_shamir_sss< Group > >::update ( const typename scheme_type::coeff_type coeff,
std::size_t  exp 
)
inline

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