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

#include <shamir.hpp>

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

Public Types

typedef share_type data_type
 
typedef share_type::first_type index_type
 
typedef shamir_sss< Group > scheme_type
 
typedef scheme_type::indexed_private_element_type share_type
 
typedef share_type::second_type value_type
 

Public Member Functions

const data_typeget_data () const
 
index_type get_index () const
 
const value_typeget_value () const
 
template<typename Scheme , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< Scheme >::type >::type, scheme_type >::value, bool >::type = true>
 operator public_share_sss< Scheme > () const
 
bool operator< (const share_sss &other) const
 
bool operator== (const share_sss &other) const
 
 share_sss ()=default
 
 share_sss (const share_type &in_share)
 
 share_sss (std::size_t i)
 
 share_sss (std::size_t i, const typename share_type::second_type &s)
 
void update (const typename scheme_type::coeff_type &coeff, std::size_t exp)
 

Protected Attributes

share_type share
 

Member Typedef Documentation

◆ data_type

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

◆ index_type

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

◆ scheme_type

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

◆ share_type

◆ value_type

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

Constructor & Destructor Documentation

◆ share_sss() [1/4]

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

◆ share_sss() [2/4]

template<typename Group >
nil::crypto3::pubkey::share_sss< shamir_sss< Group > >::share_sss ( std::size_t  i)
inline

◆ share_sss() [3/4]

template<typename Group >
nil::crypto3::pubkey::share_sss< shamir_sss< Group > >::share_sss ( const share_type in_share)
inline

◆ share_sss() [4/4]

template<typename Group >
nil::crypto3::pubkey::share_sss< shamir_sss< Group > >::share_sss ( std::size_t  i,
const typename share_type::second_type &  s 
)
inline

Member Function Documentation

◆ get_data()

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

◆ get_index()

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

◆ get_value()

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

◆ operator public_share_sss< Scheme >()

template<typename Group >
template<typename Scheme , typename std::enable_if< std::is_convertible< typename std::remove_cv< typename std::remove_reference< Scheme >::type >::type, scheme_type >::value, bool >::type = true>
nil::crypto3::pubkey::share_sss< shamir_sss< Group > >::operator public_share_sss< Scheme > ( ) const
inline

◆ operator<()

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

◆ operator==()

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

◆ update()

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

Member Data Documentation

◆ share

template<typename Group >
share_type nil::crypto3::pubkey::share_sss< shamir_sss< Group > >::share
protected

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