20# pragma warning( disable : 4290 )
130 virtual void read(std::string& val);
134 virtual void read(
double& val);
137 virtual void read(
size_t& val );
169 virtual void read(
void* buf,
size_t len);
183 sObj = readObjectByRef();
185 *obj =
dynamic_cast<T*
>(sObj);
186 if (sObj != 0 && *obj == 0) {
189 T::getConstructClassId());
221 DEFAULT = TRY_BY_REFERENCE
244 virtual void getAttribute(
const char *name,
size_t& value);
266 template<
typename VECTOR_TYPE>
285 friend class StorageAgent;
321 void readCorrectNumBytes(T& val);
333 agx::UInt8 m_generationVersion, m_majorVersion, m_minorVersion, m_patchVersion;
337 size_t m_numBytesRead;
338 int m_numObjectsRead;
349 void readModificationData();
365 template <
typename T>
378 template <
typename T>
398 template <
typename T>
409 template <
typename T>
413#define DECLARE_INPUT_BASIC_TYPE(TYPE) \
414 AGXCORE_EXPORT inline agxStream::InputArchive& operator>>( InputArchive& in, InputVal<TYPE> val ) \
416 in.beginSection(val.m_name); \
417 in.read( val.m_obj ); \
418 in.endSection(val.m_name); \
421 inline InputVal<TYPE> in(const char *name, TYPE& obj) { return InputVal<TYPE>(name, obj); }
460 template <
typename T>
468 template <
typename T>
492 observerPtr = object;
Abstract base class for input/output storage of Serializable classes.
Class for listening to the restore of Serializable objects.
This class is an abstract base class for all classes that can be stored and retrieved from an Archive...
virtual const char * getClassName() const
Matrix class for rigid transformations (translation, rotation).
static AgXString format(const char *format,...)
C printf formatting of a string.
An event with three arguments.
Inheritance with partial specialization due to bug with ref_ptr containers.
Inheritance with partial specialization due to bug with ref_ptr containers.
Representation of a name string.
Specialized type of matrices for holding symmetric positive definite matrices.
A UUID, or Universally unique identifier, is intended to uniquely identify information in a distribut...
A class holding 4 dimensional vectors and providing basic arithmetic.
Vector containing 'raw' data.
Smart pointer for observed objects, that automatically set pointers to them to null when they deleted...
Smart pointer for handling referenced counted objects.
This namespace contain classes for streaming classes into archives, ASCII, binary for storage (serial...
InputVal< T > in_val(const char *name, T &obj)
Create an object with a name and a reference to the object that should be restored.
void restoreObserverPtr(agxStream::InputArchive &in, const char *name, agx::observer_ptr< T > &observerPtr)
void restoreRefPtr(agxStream::InputArchive &in, const char *name, agx::ref_ptr< T > &refPtr)
InputRef< T > in(const char *name, T &obj)
Create an object with a name and a reference to the object that should be restored (usually a pointer...
bool AGXPHYSICS_EXPORT read(const std::string &filename, agxStream::SerializablePtrVector &readObjects)
Open and read serializable objects from a file on disk with previously stored objects.
agx::ref_ptr< InputArchive > InputArchiveRef
InputArchive & operator>>(InputArchive &in, InputVal< T > val)