Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
types.hpp File Reference
#include <sysio/chain/name.hpp>
#include <sysio/chain/chain_id_type.hpp>
#include <chainbase/chainbase.hpp>
#include <fc/interprocess/container.hpp>
#include <fc/io/varint.hpp>
#include <fc/io/enum_type.hpp>
#include <fc/crypto/sha224.hpp>
#include <fc/safe.hpp>
#include <fc/container/flat.hpp>
#include <fc/string.hpp>
#include <fc/io/raw.hpp>
#include <fc/static_variant.hpp>
#include <fc/crypto/ripemd160.hpp>
#include <fc/fixed_string.hpp>
#include <fc/crypto/private_key.hpp>
#include <memory>
#include <vector>
#include <deque>
#include <cstdint>
Include dependency graph for types.hpp:

Go to the source code of this file.

Classes

struct  sysio::chain::void_t
 
class  sysio::chain::shared_blob
 
struct  sysio::chain::sha256_less
 
class  sysio::chain::end_insert_iterator< Container >
 
struct  sysio::chain::enum_hash< T >
 
struct  sysio::chain::detail::extract_match
 
struct  sysio::chain::detail::decompose<>
 
struct  sysio::chain::detail::decompose< T, Rest... >
 
struct  sysio::chain::detail::is_any_of< T, Ts >
 
struct  sysio::chain::overloaded< Ts >
 

Namespaces

namespace  sysio
 
namespace  sysio::chain
 
namespace  sysio::chain::detail
 
namespace  chainbase
 

Macros

#define OBJECT_CTOR1(NAME)
 
#define OBJECT_CTOR2_MACRO(x, y, field)
 
#define OBJECT_CTOR2(NAME, FIELDS)
 
#define OBJECT_CTOR(...)
 
#define _V(n, v)
 

Typedefs

using sysio::chain::public_key_type = fc::crypto::public_key
 
using sysio::chain::private_key_type = fc::crypto::private_key
 
using sysio::chain::signature_type = fc::crypto::signature
 
using sysio::chain::shared_string = chainbase::shared_string
 
template<typename T >
using sysio::chain::shared_vector = boost::interprocess::vector<T, allocator<T>>
 
template<typename T >
using sysio::chain::shared_set = boost::interprocess::set<T, std::less<T>, allocator<T>>
 
template<typename K , typename V >
using sysio::chain::shared_flat_multimap = boost::interprocess::flat_multimap< K, V, std::less<K>, allocator< std::pair<K,V> > >
 
using sysio::chain::scope_name = name
 
using sysio::chain::account_name = name
 
using sysio::chain::permission_name = name
 
using sysio::chain::table_name = name
 
using sysio::chain::block_id_type = fc::sha256
 
using sysio::chain::checksum_type = fc::sha256
 
using sysio::chain::checksum256_type = fc::sha256
 
using sysio::chain::checksum512_type = fc::sha512
 
using sysio::chain::checksum160_type = fc::ripemd160
 
using sysio::chain::transaction_id_type = checksum_type
 
using sysio::chain::digest_type = checksum_type
 
using sysio::chain::weight_type = uint16_t
 
using sysio::chain::block_num_type = uint32_t
 
using sysio::chain::share_type = int64_t
 
using sysio::chain::int128_t = __int128
 
using sysio::chain::uint128_t = unsigned __int128
 
using sysio::chain::bytes = vector<char>
 
typedef vector< std::pair< uint16_t, vector< char > > > sysio::chain::extensions_type
 

Enumerations

enum  sysio::chain::object_type {
  sysio::chain::null_object_type = 0 , sysio::chain::account_object_type , sysio::chain::account_metadata_object_type , sysio::chain::permission_object_type ,
  sysio::chain::permission_usage_object_type , sysio::chain::permission_link_object_type , sysio::chain::UNUSED_action_code_object_type , sysio::chain::key_value_object_type ,
  sysio::chain::index64_object_type , sysio::chain::index128_object_type , sysio::chain::index256_object_type , sysio::chain::index_double_object_type ,
  sysio::chain::index_long_double_object_type , sysio::chain::global_property_object_type , sysio::chain::dynamic_global_property_object_type , sysio::chain::block_summary_object_type ,
  sysio::chain::transaction_object_type , sysio::chain::generated_transaction_object_type , sysio::chain::UNUSED_producer_object_type , sysio::chain::UNUSED_chain_property_object_type ,
  sysio::chain::account_control_history_object_type , sysio::chain::UNUSED_account_transaction_history_object_type , sysio::chain::UNUSED_transaction_history_object_type , sysio::chain::public_key_history_object_type ,
  sysio::chain::UNUSED_balance_object_type , sysio::chain::UNUSED_staked_balance_object_type , sysio::chain::UNUSED_producer_votes_object_type , sysio::chain::UNUSED_producer_schedule_object_type ,
  sysio::chain::UNUSED_proxy_vote_object_type , sysio::chain::UNUSED_scope_sequence_object_type , sysio::chain::table_id_object_type , sysio::chain::resource_limits_object_type ,
  sysio::chain::resource_usage_object_type , sysio::chain::resource_limits_state_object_type , sysio::chain::resource_limits_config_object_type , sysio::chain::account_history_object_type ,
  sysio::chain::action_history_object_type , sysio::chain::reversible_block_object_type , sysio::chain::protocol_state_object_type , sysio::chain::account_ram_correction_object_type ,
  sysio::chain::code_object_type , sysio::chain::database_header_object_type , sysio::chain::OBJECT_TYPE_COUNT
}
 

Functions

auto sysio::chain::emplace_extension (extensions_type &exts, uint16_t eid, vector< char > &&data)
 
template<typename Container >
end_insert_iterator< Container > sysio::chain::end_inserter (Container &c)
 
template<class... Ts>
 sysio::chain::overloaded (Ts...) -> overloaded< Ts... >
 
template<typename DataStream >
DataStream & chainbase::operator<< (DataStream &s, const chainbase::shared_cow_string &v)
 
template<typename DataStream >
DataStream & chainbase::operator>> (DataStream &s, chainbase::shared_cow_string &v)
 

Variables

template<typename T , typename ... Ts>
constexpr bool sysio::chain::detail::is_any_of_v = is_any_of<T, Ts...>::value
 

Macro Definition Documentation

◆ _V

#define _V ( n,
v )
Value:
An order-preserving dictionary of variants.

Definition at line 41 of file types.hpp.

◆ OBJECT_CTOR

#define OBJECT_CTOR ( ...)
Value:
BOOST_PP_OVERLOAD(OBJECT_CTOR, __VA_ARGS__)(__VA_ARGS__)
#define OBJECT_CTOR(...)
Definition types.hpp:39

Definition at line 39 of file types.hpp.

◆ OBJECT_CTOR1

#define OBJECT_CTOR1 ( NAME)
Value:
NAME() = delete; \
public: \
template<typename Constructor, typename Allocator> \
NAME(Constructor&& c, chainbase::allocator<Allocator>) \
{ c(*this); }
bip::allocator< T, pinnable_mapped_file::segment_manager > allocator
Definition chainbase.hpp:56
#define NAME(s)

Definition at line 25 of file types.hpp.

25#define OBJECT_CTOR1(NAME) \
26 NAME() = delete; \
27 public: \
28 template<typename Constructor, typename Allocator> \
29 NAME(Constructor&& c, chainbase::allocator<Allocator>) \
30 { c(*this); }

◆ OBJECT_CTOR2

#define OBJECT_CTOR2 ( NAME,
FIELDS )
Value:
NAME() = delete; \
public: \
template<typename Constructor, typename Allocator> \
NAME(Constructor&& c, chainbase::allocator<Allocator> a) \
: id(0) BOOST_PP_SEQ_FOR_EACH(OBJECT_CTOR2_MACRO, _, FIELDS) \
{ c(*this); }
#define OBJECT_CTOR2_MACRO(x, y, field)
Definition types.hpp:31
uint64_t id
Definition code_cache.cpp:0
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1181

Definition at line 32 of file types.hpp.

32#define OBJECT_CTOR2(NAME, FIELDS) \
33 NAME() = delete; \
34 public: \
35 template<typename Constructor, typename Allocator> \
36 NAME(Constructor&& c, chainbase::allocator<Allocator> a) \
37 : id(0) BOOST_PP_SEQ_FOR_EACH(OBJECT_CTOR2_MACRO, _, FIELDS) \
38 { c(*this); }

◆ OBJECT_CTOR2_MACRO

#define OBJECT_CTOR2_MACRO ( x,
y,
field )
Value:
ehm field

Definition at line 31 of file types.hpp.