hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
shared_model::proto::UnsignedWrapper< T > Class Template Reference

#include "unsigned_proto.hpp"

Collaboration diagram for shared_model::proto::UnsignedWrapper< T >:
Collaboration graph

Public Types

using ModelType = T
 

Public Member Functions

 UnsignedWrapper (const T &o)
 
 UnsignedWrapper (T &&o)
 
 UnsignedWrapper (UnsignedWrapper< T > &&w)
 
UnsignedWrapper< T > & operator= (UnsignedWrapper< T > &&w)
 
 UnsignedWrapper (const UnsignedWrapper< T > &o)=default
 
UnsignedWrapper< T > & operator= (const UnsignedWrapper< T > &w)=default
 
UnsignedWrappersignAndAddSignature (const crypto::Keypair &keypair)
 
finish ()
 
interface::types::HashType hash ()
 
template<typename U = T>
std::enable_if_t< std::is_base_of< shared_model::interface::Transaction, U >::value, interface::types::HashTypereducedHash () const
 

Detailed Description

template<typename T>
class shared_model::proto::UnsignedWrapper< T >

Class for holding built but still unsigned objects

Template Parameters
T- type of object received from builder

NOTE: finish() moves internal object, so calling methods after finish() throws an exception

Member Typedef Documentation

template<typename T>
using shared_model::proto::UnsignedWrapper< T >::ModelType = T

Constructor & Destructor Documentation

template<typename T>
shared_model::proto::UnsignedWrapper< T >::UnsignedWrapper ( const T &  o)
inlineexplicit

Constructs new unsigned object instance

Parameters
o- object received from builder
template<typename T>
shared_model::proto::UnsignedWrapper< T >::UnsignedWrapper ( T &&  o)
inlineexplicit
template<typename T>
shared_model::proto::UnsignedWrapper< T >::UnsignedWrapper ( UnsignedWrapper< T > &&  w)
inline
template<typename T>
shared_model::proto::UnsignedWrapper< T >::UnsignedWrapper ( const UnsignedWrapper< T > &  o)
default

Member Function Documentation

template<typename T>
T shared_model::proto::UnsignedWrapper< T >::finish ( )
inline

Finishes object building

Returns
built signed object
template<typename T>
interface::types::HashType shared_model::proto::UnsignedWrapper< T >::hash ( )
inline
template<typename T>
UnsignedWrapper<T>& shared_model::proto::UnsignedWrapper< T >::operator= ( UnsignedWrapper< T > &&  w)
inline
template<typename T>
UnsignedWrapper<T>& shared_model::proto::UnsignedWrapper< T >::operator= ( const UnsignedWrapper< T > &  w)
default
template<typename T>
template<typename U = T>
std::enable_if_t< std::is_base_of<shared_model::interface::Transaction, U>::value, interface::types::HashType> shared_model::proto::UnsignedWrapper< T >::reducedHash ( ) const
inline
template<typename T>
UnsignedWrapper& shared_model::proto::UnsignedWrapper< T >::signAndAddSignature ( const crypto::Keypair keypair)
inline

Add signature and retrieve signed result

Parameters
signature- signature to add
Returns
signed object

Here is the call graph for this function:


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