chrono::ChArchiveOutBinary Class Reference
Description
Serialization to binary stream.
Typical usage:
std::ofstream fileo("/file.dat", std::ios::binary);
ChArchiveOutBinary archiveout(fileo);
archiveout << CHNVP(myobj);
Remember to set stream mode to std::ios::binary
. Data will always be written with little-endianness even in big-endian machines.
#include <ChArchiveBinary.h>
Inheritance diagram for chrono::ChArchiveOutBinary:
Collaboration diagram for chrono::ChArchiveOutBinary:
Public Member Functions | |
ChArchiveOutBinary (std::ostream &stream_out) | |
virtual void | out (ChNameValue< bool > bVal) |
virtual void | out (ChNameValue< int > bVal) |
virtual void | out (ChNameValue< double > bVal) |
virtual void | out (ChNameValue< float > bVal) |
virtual void | out (ChNameValue< char > bVal) |
virtual void | out (ChNameValue< unsigned int > bVal) |
virtual void | out (ChNameValue< unsigned long > bVal) |
virtual void | out (ChNameValue< unsigned long long > bVal) |
virtual void | out (ChNameValue< ChEnumMapperBase > bVal) |
virtual void | out (ChNameValue< const char * > bVal) |
virtual void | out (ChNameValue< std::string > bVal) |
virtual void | out_array_pre (ChValue &bVal, size_t size) |
virtual void | out_array_between (ChValue &bVal, size_t size) |
virtual void | out_array_end (ChValue &bVal, size_t size) |
virtual void | out (ChValue &bVal, bool tracked, size_t obj_ID) |
virtual void | out_ref (ChValue &bVal, bool already_inserted, size_t obj_ID, size_t ext_ID) |
Public Member Functions inherited from chrono::ChArchiveOut | |
void | SetCutAllPointers (bool mcut) |
If you enable SetCutAllPointers(true), no serialization happens for objects referenced via pointers. More... | |
std::unordered_set< void * > & | CutPointers () |
Access the container of pointers that must not be serialized. More... | |
void | UnbindExternalPointer (void *mptr, size_t ID) |
Use the following to declare pointer(s) that must not be de-serialized but rather be 'unbind' and be saved just as unique IDs. More... | |
void | UnbindExternalPointer (std::shared_ptr< void > mptr, size_t ID) |
Use the following to declare pointer(s) that must not be de-serialized but rather be 'unbind' and be saved just as unique IDs. More... | |
virtual void | out (ChNameValue< FunGetSet< bool >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< int >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< double >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< float >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< char >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< unsigned int >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< const char * >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< unsigned long >> bVal) const |
virtual void | out (ChNameValue< FunGetSet< unsigned long long >> bVal) const |
template<class T > | |
void | out (ChNameValue< ChEnumMapper< T >> bVal) |
template<class T , size_t N> | |
void | out (ChNameValue< T[N]> bVal) |
template<class T > | |
void | out (ChNameValue< std::vector< T >> bVal) |
template<class T > | |
void | out (ChNameValue< std::list< T >> bVal) |
template<class T , class Tv > | |
void | out (ChNameValue< std::pair< T, Tv >> bVal) |
template<class T , class Tv > | |
void | out (ChNameValue< std::unordered_map< T, Tv >> bVal) |
template<class T , class Tv > | |
void | out (ChNameValue< std::map< T, Tv >> bVal) |
template<class T > | |
void | out (ChNameValue< std::shared_ptr< T >> bVal) |
template<class T > | |
void | out (ChNameValue< T * > bVal) |
template<class T > | |
void | out (ChNameValue< T > bVal) |
template<class T > | |
ChArchiveOut & | operator<< (ChNameValue< T > bVal) |
Operator to allow easy serialization as myarchive << mydata;. | |
void | VersionWrite (int iv) |
template<class T > | |
void | VersionWrite () |
Public Member Functions inherited from chrono::ChArchive | |
void | SetUseVersions (bool muse) |
Turn off version info in archives. More... | |
void | SetClusterClassVersions (bool mcl) |
If true, the version number is not saved in each class. More... | |
Protected Member Functions | |
template<typename T > | |
std::ostream & | write (T val) |
template<> | |
std::ostream & | write (std::string val) |
template<> | |
std::ostream & | write (bool val) |
template<> | |
std::ostream & | write (const char *val) |
Protected Member Functions inherited from chrono::ChArchiveOut | |
void | PutPointer (void *object, bool &already_stored, size_t &obj_ID) |
Find a pointer in pointer map: eventually add it to map if it was not previously inserted. More... | |
virtual void | out_version (int mver, const std::type_index mtypeid) |
Protected Attributes | |
std::ostream & | m_ostream |
Protected Attributes inherited from chrono::ChArchiveOut | |
std::unordered_map< void *, size_t > | internal_ptr_id |
size_t | currentID |
std::unordered_map< void *, size_t > | external_ptr_id |
std::unordered_set< void * > | cut_pointers |
bool | cut_all_pointers |
Protected Attributes inherited from chrono::ChArchive | |
bool | cluster_class_versions |
std::unordered_map< std::type_index, int > | class_versions |
bool | use_versions |
Additional Inherited Members | |
Public Types inherited from chrono::ChArchiveOut | |
template<class T > | |
using | FunGetSet = std::pair< std::function< T(void)>, std::function< void(T)> > |
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/serialization/ChArchiveBinary.h
- /builds/uwsbel/chrono/src/chrono/serialization/ChArchiveBinary.cpp
#define CHNVP(...)
Use this macro to mark a value, ex myarchive << CHNVP (myvalue, "mnemonic name") or,...
Definition: ChArchive.h:383