Description

Serialization to binary stream.

Typical usage:

std::ofstream fileo("/file.dat", std::ios::binary);
ChArchiveOutBinary archiveout(fileo);
archiveout << CHNVP(myobj);
#define CHNVP(...)
Use this macro to mark a value, ex myarchive << CHNVP (myvalue, "mnemonic name") or,...
Definition ChArchive.h:383

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)
 
template<>
std::ostream & write (std::string val)
 
template<>
std::ostream & write (bool val)
 
template<>
std::ostream & write (const char *val)
 
template<>
std::ostream & write (std::string val)
 
template<>
std::ostream & write (bool val)
 
template<>
std::ostream & write (const char *val)
 
- Public Member Functions inherited from chrono::ChArchiveOut
void SetCutAllPointers (bool mcut)
 If you enable SetCutAllPointers(true), no serialization happens for objects referenced via pointers.
 
std::unordered_set< void * > & CutPointers ()
 Access the container of pointers that must not be serialized.
 
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.
 
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.
 
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>
ChArchiveOutoperator<< (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.
 
void SetClusterClassVersions (bool mcl)
 If true, the version number is not saved in each class.
 

Protected Member Functions

template<typename T>
std::ostream & write (T 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.
 
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)>>
 

Member Function Documentation

◆ out() [1/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< bool > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [2/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< char > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [3/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< ChEnumMapperBase > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [4/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< double > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [5/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< float > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [6/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< int > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [7/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< std::string > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [8/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< unsigned int > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [9/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< unsigned long > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [10/11]

void chrono::ChArchiveOutBinary::out ( ChNameValue< unsigned long long > bVal)
virtual

Implements chrono::ChArchiveOut.

◆ out() [11/11]

void chrono::ChArchiveOutBinary::out ( ChValue & bVal,
bool tracked,
size_t obj_ID )
virtual

Implements chrono::ChArchiveOut.

◆ out_array_between()

void chrono::ChArchiveOutBinary::out_array_between ( ChValue & bVal,
size_t size )
virtual

Implements chrono::ChArchiveOut.

◆ out_array_end()

void chrono::ChArchiveOutBinary::out_array_end ( ChValue & bVal,
size_t size )
virtual

Implements chrono::ChArchiveOut.

◆ out_array_pre()

void chrono::ChArchiveOutBinary::out_array_pre ( ChValue & bVal,
size_t size )
virtual

Implements chrono::ChArchiveOut.

◆ out_ref()

void chrono::ChArchiveOutBinary::out_ref ( ChValue & bVal,
bool already_inserted,
size_t obj_ID,
size_t ext_ID )
virtual

Implements chrono::ChArchiveOut.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono/serialization/ChArchiveBinary.h
  • C:/M/B/src/chrono-9.0.1/src/chrono/serialization/ChArchiveBinary.cpp