hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
shared_model::proto::CopyableProto< Iface, Proto, Impl > Class Template Reference

#include "trivial_proto.hpp"

Inheritance diagram for shared_model::proto::CopyableProto< Iface, Proto, Impl >:
Inheritance graph
Collaboration diagram for shared_model::proto::CopyableProto< Iface, Proto, Impl >:
Collaboration graph

Public Types

using TransportType = Proto
 

Public Member Functions

template<typename ProtoLoader >
 CopyableProto (ProtoLoader &&ref)
 
const Proto & getTransport () const
 

Protected Member Functions

Iface::ModelType * clone () const overridefinal
 

Protected Attributes

detail::ReferenceHolder< Proto > proto_
 

Detailed Description

template<typename Iface, typename Proto, typename Impl>
class shared_model::proto::CopyableProto< Iface, Proto, Impl >

Simple generic class for handling proto objects

Template Parameters
Ifaceis interface to inherit from
Protois protobuf container
Implis implementation of Iface

Member Typedef Documentation

template<typename Iface, typename Proto, typename Impl>
using shared_model::proto::CopyableProto< Iface, Proto, Impl >::TransportType = Proto

Constructor & Destructor Documentation

template<typename Iface, typename Proto, typename Impl>
template<typename ProtoLoader >
shared_model::proto::CopyableProto< Iface, Proto, Impl >::CopyableProto ( ProtoLoader &&  ref)
inlineexplicit

ProtoLoader generic param so it can be handled in the load for the boost::variant

Member Function Documentation

template<typename Iface, typename Proto, typename Impl>
Iface::ModelType* shared_model::proto::CopyableProto< Iface, Proto, Impl >::clone ( ) const
inlinefinaloverrideprotected
template<typename Iface, typename Proto, typename Impl>
const Proto& shared_model::proto::CopyableProto< Iface, Proto, Impl >::getTransport ( ) const
inline

Member Data Documentation

template<typename Iface, typename Proto, typename Impl>
detail::ReferenceHolder<Proto> shared_model::proto::CopyableProto< Iface, Proto, Impl >::proto_
protected

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