Index: src/libserializer/SerializableObject.h =================================================================== diff -u -N -rf01ed9a0279a52c96a7272273ef19e57f7670f4a -rf8b6de9c28b2957db0b4e71efa11df8632e41261 --- src/libserializer/SerializableObject.h (.../SerializableObject.h) (revision f01ed9a0279a52c96a7272273ef19e57f7670f4a) +++ src/libserializer/SerializableObject.h (.../SerializableObject.h) (revision f8b6de9c28b2957db0b4e71efa11df8632e41261) @@ -7,74 +7,64 @@ namespace serializer { - template + template class SerializableObject { public: - SerializableObject(); - SerializableObject(const SerializableObject& rSrc); - virtual ~SerializableObject(); + SerializableObject() = default; - SerializableObject& operator=(const SerializableObject& rSrc); + SerializableObject(const SerializableObject& rSrc) : + m_oidObjectID(rSrc.m_oidObjectID), + m_setModifications(rSrc.m_setModifications) + { + } - // serialization interface - virtual void Store(const serializer::ISerializerContainerPtr& spContainer) const = 0; - virtual void Load(const serializer::ISerializerRowReaderPtr& spRowReader) = 0; + virtual ~SerializableObject() = default; - serializer::object_id_t GetObjectID() const; - void SetObjectID(serializer::object_id_t oidObjectID); + SerializableObject& operator=(const SerializableObject& rSrc) + { + if(this != &rSrc) + { + m_oidObjectID = rSrc.m_oidObjectID; + m_setModifications = rSrc.m_setModifications; + } - void ResetModifications(); - bool IsModified() const { return m_setModifications.any(); } + return *this; + } - protected: - serializer::object_id_t m_oidObjectID = 0; + serializer::object_id_t GetObjectID() const + { + return m_oidObjectID; + } - using Bitset = std::bitset; - mutable Bitset m_setModifications; - }; + void SetObjectID(serializer::object_id_t oidObjectID) + { + m_oidObjectID = oidObjectID; + } - template - serializer::SerializableObject::SerializableObject() - { - } + void MarkAsAdded() + { + m_setModifications[AddedBit] = true; + } - template - serializer::SerializableObject::SerializableObject(const SerializableObject& rSrc) : - m_oidObjectID(rSrc.m_oidObjectID), - m_setModifications(rSrc.m_setModifications) - { - } + void ResetModifications() + { + m_setModifications.reset(); + } - template - serializer::SerializableObject::~SerializableObject() - { - } + bool IsModified() const + { + return m_setModifications.any(); + } - template - SerializableObject& serializer::SerializableObject::operator=(const SerializableObject& rSrc) - { - m_oidObjectID = rSrc.m_oidObjectID; - m_setModifications = rSrc.m_setModifications; + // serialization interface + virtual void Store(const serializer::ISerializerContainerPtr& spContainer) const = 0; + virtual void Load(const serializer::ISerializerRowReaderPtr& spRowReader) = 0; - return *this; - } + protected: + serializer::object_id_t m_oidObjectID = 0; - template - void serializer::SerializableObject::ResetModifications() - { - m_setModifications.reset(); - } - - template - void serializer::SerializableObject::SetObjectID(serializer::object_id_t oidObjectID) - { - m_oidObjectID = oidObjectID; - } - - template - serializer::object_id_t serializer::SerializableObject::GetObjectID() const - { - return m_oidObjectID; - } + using Bitset = std::bitset; + mutable Bitset m_setModifications; + }; }