#pragma once #include #include #include #include namespace fc { namespace ecc { class public_key; class private_key; } namespace raw { template void unpack( Stream& s, fc::optional& v ); template void pack( Stream& s, const fc::optional& v ); template void unpack( Stream& s, fc::string& ); template void pack( Stream& s, const fc::string& ); template void unpack( Stream& s, std::string& ); template void pack( Stream& s, const std::string& ); template void unpack( Stream& s, fc::ecc::public_key& ); template void pack( Stream& s, const fc::ecc::public_key& ); template void unpack( Stream& s, fc::ecc::private_key& ); template void pack( Stream& s, const fc::ecc::private_key& ); template inline void pack( Stream& s, const T& v ); template inline void unpack( Stream& s, T& v ); template inline void pack( Stream& s, const std::vector& v ); template inline void unpack( Stream& s, std::vector& v ); template inline void pack( Stream& s, const signed_int& v ); template inline void unpack( Stream& s, signed_int& vi ); template inline void pack( Stream& s, const unsigned_int& v ); template inline void unpack( Stream& s, unsigned_int& vi ); template inline void pack( Stream& s, const char* v ); template inline void pack( Stream& s, const std::vector& value ); template inline void unpack( Stream& s, std::vector& value ); template inline void pack( Stream& s, const fc::array& v); template inline void unpack( Stream& s, fc::array& v); template inline void pack( Stream& s, const bool& v ); template inline void unpack( Stream& s, bool& v ); template inline std::vector pack( const T& v ); template inline T unpack( const std::vector& s ); template inline T unpack( const char* d, uint32_t s ); template inline void unpack( const char* d, uint32_t s, T& v ); } }