hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
iroha::utils::ReadWriteObject< T > Struct Template Reference

#include "common.hpp"

Collaboration diagram for iroha::utils::ReadWriteObject< T >:
Collaboration graph

Public Member Functions

template<typename... Args>
 ReadWriteObject (Args &&... args)
 
template<typename F >
auto exclusiveAccess (F &&f)
 
template<typename F >
auto sharedAccess (F &&f) const
 

Detailed Description

template<typename T>
struct iroha::utils::ReadWriteObject< T >

Protected object wrapper. Allow read-write access.

Template Parameters
Tobject type Example:
ReadWriteObject<std::string> obj("1");
bool const is_one_att1 =
obj.sharedAccess([](auto const &str) {
return str == "1";
});
obj.exclusiveAccess([](auto &str) {
str = "2";
});
bool const is_one_att2 =
obj.sharedAccess([](auto const &str) {
return str == "1";
});
std::cout <<
"Attempt 1: " << is_one_att1 << std::endl <<
"Attempt 2: " << is_one_att2;

Constructor & Destructor Documentation

◆ ReadWriteObject()

template<typename T>
template<typename... Args>
iroha::utils::ReadWriteObject< T >::ReadWriteObject ( Args &&...  args)
inline

Member Function Documentation

◆ exclusiveAccess()

template<typename T>
template<typename F >
auto iroha::utils::ReadWriteObject< T >::exclusiveAccess ( F &&  f)
inline
Here is the caller graph for this function:

◆ sharedAccess()

template<typename T>
template<typename F >
auto iroha::utils::ReadWriteObject< T >::sharedAccess ( F &&  f) const
inline

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