19 #ifndef INCLUDE_SF_ANY_HPP 20 #define INCLUDE_SF_ANY_HPP 24 #include <boost/any.hpp> 26 #include <SF/string.hpp> 28 #include <SF/SerializeAny.hpp> 34 inline void serialize(
SF::Archive &ar, boost::any &a)
39 SF::Registry::getSingleton().getTypeName(a.type());
41 if ( which.empty() && !a.empty() )
43 RCF_THROW(
RCF::Exception(RCF::RcfError_AnyTypeNotRegistered, a.type().name()));
50 RCF_ASSERT(which.size() > 0);
52 SF::I_SerializerAny * serializerAny = SF::Registry::getSingleton().getAnySerializer(which);
55 serializerAny->serialize(ar, a);
69 SF::I_SerializerAny * serializerAny = SF::Registry::getSingleton().getAnySerializer(which);
72 serializerAny->serialize(ar, a);
81 #endif // ! INCLUDE_SF_ANY_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.