namespace DelftTools.Utils.Serialization
{
///
/// Interface which allows a class to save/retrieve their internal data to/from an existing SerializationWriter/SerializationReader.
///
public interface IOwnedDataSerializable
{
///
/// Lets the implementing class store internal data directly into a SerializationWriter.
///
/// The SerializationWriter to use
/// Optional context to use as a hint as to what to store (BitVector32 is useful)
void SerializeOwnedData(SerializationWriter writer, object context);
///
/// Lets the implementing class retrieve internal data directly from a SerializationReader.
///
/// The SerializationReader to use
/// Optional context to use as a hint as to what to retrieve (BitVector32 is useful)
void DeserializeOwnedData(SerializationReader reader, object context);
}
}