18 #ifndef INCLUDE_SF_ANY_HPP 19 #define INCLUDE_SF_ANY_HPP 23 #include <boost/any.hpp> 25 #include <SF/string.hpp> 27 #include <SF/SerializeAny.hpp> 33 inline void serialize(
SF::Archive &ar, boost::any &a)
38 SF::Registry::getSingleton().getTypeName(a.type());
40 if ( which.empty() && !a.empty() )
42 RCF_THROW(
RCF::Exception(RCF::RcfError_AnyTypeNotRegistered, a.type().name()));
49 RCF_ASSERT(which.size() > 0);
51 SF::I_SerializerAny * serializerAny = SF::Registry::getSingleton().getAnySerializer(which);
54 serializerAny->serialize(ar, a);
68 SF::I_SerializerAny * serializerAny = SF::Registry::getSingleton().getAnySerializer(which);
71 serializerAny->serialize(ar, a);
80 #endif // ! INCLUDE_SF_ANY_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.