// This file contains unctions to pack/unpack data structures #ifndef included_PackData #define included_PackData #include #include #include #include //! Template function to return the buffer size required to pack a class template size_t packsize( const TYPE &rhs ); //! Template function to pack a class to a buffer template void pack( const TYPE &rhs, char *buffer ); //! Template function to unpack a class from a buffer template void unpack( TYPE &data, const char *buffer ); //! Template function to return the buffer size required to pack a std::vector template size_t packsize( const std::vector &rhs ); //! Template function to pack a class to a buffer template void pack( const std::vector &rhs, char *buffer ); //! Template function to pack a class to a buffer template void unpack( std::vector &data, const char *buffer ); //! Template function to return the buffer size required to pack a std::pair template size_t packsize( const std::pair &rhs ); //! Template function to pack a class to a buffer template void pack( const std::pair &rhs, char *buffer ); //! Template function to pack a class to a buffer template void unpack( std::pair &data, const char *buffer ); //! Template function to return the buffer size required to pack a std::map template size_t packsize( const std::map &rhs ); //! Template function to pack a class to a buffer template void pack( const std::map &rhs, char *buffer ); //! Template function to pack a class to a buffer template void unpack( std::map &data, const char *buffer ); //! Template function to return the buffer size required to pack a std::set template size_t packsize( const std::set &rhs ); //! Template function to pack a class to a buffer template void pack( const std::set &rhs, char *buffer ); //! Template function to pack a class to a buffer template void unpack( std::set &data, const char *buffer ); #include "IO/PackData.hpp" #endif