algorithm/aggregate.hpp File Reference
+ Include dependency graph for algorithm/aggregate.hpp:

Go to the source code of this file.

Namespaces

 nil
 
 nil::crypto3
 
 nil::crypto3::pubkey
 

Typedefs

template<typename Scheme >
using nil::crypto3::pubkey::aggregation_policy = typename pubkey::modes::isomorphic< Scheme >::aggregation_policy
 
template<typename Scheme >
using nil::crypto3::pubkey::aggregation_processing_mode_default = typename modes::isomorphic< Scheme >::template bind< aggregation_policy< Scheme > >::type
 

Functions

template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename AggregationAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::aggregate (const SinglePassRange &range)
 Aggregation of the input signatures into one resulted signature. More...
 
template<typename Scheme , typename SinglePassRange , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>>
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & nil::crypto3::aggregate (const SinglePassRange &range, OutputAccumulator &acc)
 Updating of accumulator set acc containing aggregation accumulator with input signatures. More...
 
template<typename Scheme , typename SinglePassRange , typename OutputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>>
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type nil::crypto3::aggregate (const SinglePassRange &range, OutputIterator out)
 Aggregation of the input signatures into one resulted signature and writing it in out. More...
 
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename AggregationAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>, typename StreamSchemeImpl = pubkey::detail::value_pubkey_impl<AggregationAccumulator>, typename SchemeImpl = pubkey::detail::range_pubkey_impl<StreamSchemeImpl>>
SchemeImpl nil::crypto3::aggregate (InputIterator first, InputIterator last)
 Aggregation of the input signatures into one resulted signature. More...
 
template<typename Scheme , typename InputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>, typename OutputAccumulator = typename pubkey::aggregation_accumulator_set<ProcessingMode>>
std::enable_if< boost::accumulators::detail::is_accumulator_set< OutputAccumulator >::value, OutputAccumulator >::type & nil::crypto3::aggregate (InputIterator first, InputIterator last, OutputAccumulator &acc)
 Updating of accumulator set acc containing aggregation accumulator with input signatures. More...
 
template<typename Scheme , typename InputIterator , typename OutputIterator , typename ProcessingMode = pubkey::aggregation_processing_mode_default<Scheme>>
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type nil::crypto3::aggregate (InputIterator first, InputIterator last, OutputIterator out)
 Aggregation of the input signatures into one resulted signature and writing it in out. More...