|
| template<class F> |
| std::vector< std::byte > | buffer (F &&f) |
| | Serialize into a buffer.
|
| template<class T> |
| T | get (const std::byte *&p) |
| | Reconstruct an object, advancing past its serialized form.
|
| template<class... TT> |
| auto | get_tuple (const std::byte *p, const std::byte *e=nullptr) |
| | Construct a tuple of objects.
|
| template<class T, class S = typename std::vector<T>::size_type> |
| auto | get_vector (const std::byte *&p) |
| | Construct a std::vector from a size and then elements.
|
| template<class... TT, class P> |
| void | put (P &p, const TT &... tt) |
| | Store objects and advance past their serialized form.
|
| template<class... TT> |
| auto | put_tuple (const TT &... tt) |
| | Serialize a fixed set of objects into a buffer.
|
| template<class... TT> |
| std::size_t | size (const TT &... tt) |
| | Compute the serialized size of a fixed set of objects.
|
Serialization without default constructibility.
Supported types:
- any default-constructible, trivially-move-assignable, non-pointer type
- any type that supports the Legion return-value serialization interface
std::string
- any type with an appropriate specialization of
traits or convert
- any
std::pair, std::tuple, std::array, std::vector, std::set, std::map, std::unordered_map of a supported type
Contents are in flecsi::util::serial unless otherwise specified.