From 23196be83778973d9688cc5d465e4e4a16476568 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 12 Dec 2024 22:45:12 +0100 Subject: add documentation --- src/crepe/Component.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/crepe/Component.h') diff --git a/src/crepe/Component.h b/src/crepe/Component.h index fc0268c..52e06d5 100644 --- a/src/crepe/Component.h +++ b/src/crepe/Component.h @@ -39,10 +39,27 @@ protected: virtual Component & operator=(Component &&) = delete; protected: + /** + * \name ReplayManager (Memento) functions + * \{ + */ + /** + * \brief Save a snapshot of this component's state + * \note This function should only be implemented on components that should be saved/restored + * by ReplayManager. + * \returns Unique pointer to a deep copy of this component + */ virtual std::unique_ptr save() const; + //! Copy constructor (used by \c save()) Component(const Component &) = default; + /** + * \brief Restore this component from a snapshot + * \param snapshot Data to fill this component with (as returned by \c save()) + */ virtual void restore(const Component & snapshot); + //! Copy assignment operator (used by \c restore()) virtual Component & operator=(const Component &); + //! \} public: virtual ~Component() = default; -- cgit v1.2.3