CDT  v4.2.0
инструменты разработчика
Файл datastream.hpp
#include "check.hpp"
#include "varint.hpp"
#include <bluegrass/meta/for_each.hpp>
#include <list>
#include <queue>
#include <vector>
#include <array>
#include <set>
#include <map>
#include <string>
#include <optional>
#include <variant>
#include <string.h>

См. исходные тексты.

Классы

class  eosio::datastream< T >
 
class  eosio::datastream< size_t >
 
struct  eosio::_datastream_detail::is_datastream< T >
 
struct  eosio::_datastream_detail::is_datastream< datastream< T > >
 

Пространства имен

namespace  eosio
 
namespace  eosio::_datastream_detail
 

Функции

template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::list< T > &l)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::list< T > &l)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::deque< T > &d)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::deque< T > &d)
 
template<typename Stream , typename... Ts>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::variant< Ts... > &var)
 
template<int I, typename Stream , typename... Ts>
void eosio::deserialize (datastream< Stream > &ds, std::variant< Ts... > &var, int i)
 
template<typename Stream , typename... Ts>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::variant< Ts... > &var)
 
template<typename Stream , typename T1 , typename T2 >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::pair< T1, T2 > &t)
 
template<typename Stream , typename T1 , typename T2 >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::pair< T1, T2 > &t)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::optional< T > &opt)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::optional< T > &opt)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const bool &d)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, bool &d)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::string &v)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::string &v)
 
template<typename Stream , typename T , std::size_t N>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::array< T, N > &v)
 
template<typename Stream , typename T , std::size_t N>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::array< T, N > &v)
 
template<typename T >
constexpr bool eosio::_datastream_detail::is_pointer ()
 
template<typename T >
constexpr bool eosio::_datastream_detail::is_primitive ()
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T)
 Указатель не должен сериализоваться; эта перегрузка всегда приводит к ошибке Подробнее...
 
template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const T(&v)[N])
 
template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T(&v)[N])
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::vector< T > &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::vector< T > &v)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::basic_string< T > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::basic_string< T > &s)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::basic_string< uint8_t > &s)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::basic_string< uint8_t > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::set< T > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::set< T > &s)
 
template<typename Stream , typename K , typename V >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::map< K, V > &m)
 
template<typename Stream , typename K , typename V >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::map< K, V > &m)
 
template<typename Stream , typename... Args>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::tuple< Args... > &t)
 
template<typename Stream , typename... Args>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::tuple< Args... > &t)
 
template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
DataStream & eosio::operator<< (DataStream &ds, const T &v)
 
template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
DataStream & eosio::operator>> (DataStream &ds, T &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const T &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T &v)
 
template<typename T >
eosio::unpack (const char *buffer, size_t len)
 
template<typename T >
void eosio::unpack (T &res, const char *buffer, size_t len)
 
template<typename T >
eosio::unpack (const std::vector< char > &bytes)
 
template<typename T >
size_t eosio::pack_size (const T &value)
 
template<typename T >
std::vector< char > eosio::pack (const T &value)
 

Подробное описание

См. определение в файле datastream.hpp