19 #ifndef INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP 20 #define INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP 22 #include <SF/Archive.hpp> 23 #include <SF/DataPtr.hpp> 24 #include <SF/I_Stream.hpp> 25 #include <SF/Stream.hpp> 26 #include <RCF/Tools.hpp> 33 inline void serializeFundamental(
36 unsigned int count = 1)
38 typedef typename RCF::RemoveCv<T>::type U;
39 static_assert( RCF::IsFundamental<U>::value,
"" );
40 U * pt =
const_cast<U *
>(&t);
44 I_Encoding &encoding = ar.getIstream()->getEncoding();
46 ar.getIstream()->get(data);
47 if (count > 1 && count != encoding.getCount(data, pt) )
53 encoding.toObject(data, pt, count);
57 I_Encoding &encoding = ar.getOstream()->getEncoding();
59 encoding.toData(data, pt, count );
60 ar.getOstream()->put(data);
66 #endif // ! INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP Represents an archive, in which serialized objects are stored.
Definition: Archive.hpp:32
Base class for all RCF exceptions.
Definition: Exception.hpp:64
Definition: ByteBuffer.hpp:189
bool isWrite() const
Returns true if this archive is being written to.
bool isRead() const
Returns true if this archive is being read from.