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

◆ ModelType

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

Constructor & Destructor Documentation

◆ UnsignedWrapper() [1/4]

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

Constructs new unsigned object instance

Parameters
o- object received from builder
Here is the caller graph for this function:

◆ UnsignedWrapper() [2/4]

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

◆ UnsignedWrapper() [3/4]

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

◆ UnsignedWrapper() [4/4]

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

Member Function Documentation

◆ finish()

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

Finishes object building

Returns
built signed object

◆ hash()

template<typename T>
interface::types::HashType shared_model::proto::UnsignedWrapper< T >::hash ( )
inline

◆ operator=() [1/2]

template<typename T>
UnsignedWrapper<T>& shared_model::proto::UnsignedWrapper< T >::operator= ( UnsignedWrapper< T > &&  w)
inline
Here is the call graph for this function:

◆ operator=() [2/2]

template<typename T>
UnsignedWrapper<T>& shared_model::proto::UnsignedWrapper< T >::operator= ( const UnsignedWrapper< T > &  w)
default

◆ reducedHash()

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

◆ signAndAddSignature()

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: