BitShares-Core  4.0.0
BitShares blockchain implementation and command-line interface software
flat_fwd.hpp
Go to the documentation of this file.
1 #pragma once
2 #include <boost/container/flat_map.hpp>
3 #include <boost/container/flat_set.hpp>
4 #include <boost/interprocess/containers/vector.hpp>
5 #include <fc/config.hpp>
6 
7 namespace fc {
8 
9  using boost::container::flat_map;
10  using boost::container::flat_set;
11  namespace bip = boost::interprocess;
12 
13  namespace raw {
14  template<typename Stream, typename T, typename... A>
15  void pack( Stream& s, const flat_set<T, A...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
16  template<typename Stream, typename T, typename... A>
17  void unpack( Stream& s, flat_set<T, A...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
18  template<typename Stream, typename K, typename... V>
19  void pack( Stream& s, const flat_map<K,V...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
20  template<typename Stream, typename K, typename V, typename... A>
21  void unpack(Stream& s, flat_map<K, V, A...>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
22 
23 
24  template<typename Stream, typename T, typename A>
25  void pack( Stream& s, const bip::vector<T,A>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
26  template<typename Stream, typename T, typename A>
27  void unpack( Stream& s, bip::vector<T,A>& value, uint32_t _max_depth=FC_PACK_MAX_DEPTH );
28  } // namespace raw
29 
30 } // fc
void pack(Stream &s, const flat_set< T, A... > &value, uint32_t _max_depth)
Definition: flat.hpp:11
void unpack(Stream &s, flat_set< T, A... > &value, uint32_t _max_depth)
Definition: flat.hpp:23
Definition: api.hpp:15
#define FC_PACK_MAX_DEPTH
Definition: config.hpp:3