18 #ifndef INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP 19 #define INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP 21 #include <SF/Archive.hpp> 22 #include <SF/DataPtr.hpp> 23 #include <SF/I_Stream.hpp> 24 #include <SF/Stream.hpp> 25 #include <RCF/Tools.hpp> 32 inline void serializeFundamental(
35 unsigned int count = 1)
37 typedef typename RCF::RemoveCv<T>::type U;
38 static_assert( RCF::IsFundamental<U>::value,
"" );
39 U * pt =
const_cast<U *
>(&t);
43 I_Encoding &encoding = ar.getIstream()->getEncoding();
45 ar.getIstream()->get(data);
46 if (count > 1 && count != encoding.getCount(data, pt) )
52 encoding.toObject(data, pt, count);
56 I_Encoding &encoding = ar.getOstream()->getEncoding();
58 encoding.toData(data, pt, count );
59 ar.getOstream()->put(data);
65 #endif // ! INCLUDE_SF_SERIALIZEFUNDAMENTAL_HPP Represents an archive, in which serialized objects are stored.
Definition: Archive.hpp:31
Base class for all RCF exceptions.
Definition: Exception.hpp:67
Definition: ByteBuffer.hpp:188
bool isWrite() const
Returns true if this archive is being written to.
bool isRead() const
Returns true if this archive is being read from.