From 7b26d57ab6346cf17ebb42ef8d069dd94ecd1d80 Mon Sep 17 00:00:00 2001 From: blue Date: Sun, 13 Aug 2023 14:53:07 -0300 Subject: [PATCH] some more docs, doc build fix --- CHANGELOG.md | 1 + doc/CMakeLists.txt | 12 ++++---- src/cursor.hpp | 2 -- src/exceptions.h | 4 +-- src/serializer.hpp | 70 ++++++++++++++++++++++++++++++++++++++++++++++ src/storage.h | 6 ++++ 6 files changed, 85 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf30d98..5c27023 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - read only cursors - some more documentation - more tests +- doxygen-awesome build bix ## LMDBAL 0.3.1 (April 14, 2023) ### Bug fixes diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 24ee33b..48e365d 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -6,23 +6,23 @@ if (BUILD_DOXYGEN_AWESOME) include(ExternalProject) ExternalProject_Add(doxygen-awesome-css GIT_REPOSITORY https://github.com/jothepro/doxygen-awesome-css.git - GIT_TAG "v2.2.0" + GIT_TAG "v2.2.1" CONFIGURE_COMMAND "" BUILD_COMMAND make BUILD_IN_SOURCE TRUE - INSTALL_COMMAND make DESTDIR=${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css install + INSTALL_COMMAND make PREFIX=${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css install ) set (DOXYGEN_GENERATE_TREEVIEW YES) set (DOXYGEN_DISABLE_INDEX NO) set (DOXYGEN_FULL_SIDEBAR NO) set (DOXYGEN_HTML_EXTRA_STYLESHEET - ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/doxygen-awesome.css - ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only.css - ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css + ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/share/doxygen-awesome-css/doxygen-awesome.css + ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/share/doxygen-awesome-css/doxygen-awesome-sidebar-only.css + ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/share/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css custom.css ) set (DOXYGEN_HTML_EXTRA_FILES - ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js + ${CMAKE_CURRENT_BINARY_DIR}/doxygen-awesome-css/share/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js ) set (DOXYGEN_FULL_SIDEBAR NO) set (DOXYGEN_HTML_COLORSTYLE "LIGHT") diff --git a/src/cursor.hpp b/src/cursor.hpp index a3bd252..1430833 100644 --- a/src/cursor.hpp +++ b/src/cursor.hpp @@ -141,8 +141,6 @@ void LMDBAL::Cursor::open (TransactionID txn) const { * * This function does nothing if the cursor is closed * - * \param[in] txn a transaction you wish this cursor to be bound to - * * \throws LMDBAL::Closed thrown if you try to renew the cursor on a closed database * \throws LMDBAL::Unknown thrown if there was a problem beginning new transaction or if there was a problem renewing the cursor by lmdb */ diff --git a/src/exceptions.h b/src/exceptions.h index 8a90690..fbc1f63 100644 --- a/src/exceptions.h +++ b/src/exceptions.h @@ -33,9 +33,9 @@ public: Exception(); virtual ~Exception(); - virtual std::string getMessage() const = 0; /**<\brief returns exception message*/ + virtual std::string getMessage() const = 0; /**<\brief returns exception message*/ - const char* what() const noexcept( true ) override; + const char* what() const noexcept( true ) override; /**<\brief system exception method that is actually called to show the message*/ }; /** diff --git a/src/serializer.hpp b/src/serializer.hpp index bbece55..9b10cbd 100644 --- a/src/serializer.hpp +++ b/src/serializer.hpp @@ -21,6 +21,21 @@ #include "serializer.h" +/** + * \class LMDBAL::Serializer + * + * A class that is constructed in every LMDBAL::Storage + * to serialize or deserialize keys and values. + * + * It serializes to and deserializes from MDB_valMDB_val + * + * \tparam K type of the keys of the storage + * \tparam V type of the values of the storage + */ + +/** + * \brief Creates an empty Serializer + */ template LMDBAL::Serializer::Serializer() : bytes(), @@ -30,6 +45,13 @@ LMDBAL::Serializer::Serializer() : buffer.open(QIODevice::ReadWrite); } +/** + * \brief Creates a Serializer with some data in it + * + * The data automatically gets serialized + * + * \param[in] value - a value that is assigned to the serializer + */ template LMDBAL::Serializer::Serializer(const T& value) : bytes(), @@ -40,11 +62,23 @@ LMDBAL::Serializer::Serializer(const T& value) : _setData(value); } +/** + * \brief Destoys the serializer + */ template LMDBAL::Serializer::~Serializer() { buffer.close(); } +/** + * \brief Sets the data to the seriazer + * + * This is a normal way to seriaze value + * + * \param[in] value - a value you want to serialize + * + * \returns serialized value + */ template MDB_val LMDBAL::Serializer::setData(const T& value) { clear(); @@ -52,6 +86,15 @@ MDB_val LMDBAL::Serializer::setData(const T& value) { return getData(); } +/** + * \brief Deserializes value + * + * This is a normal way to deseriaze value + * + * \param[in] value - a value you want to deserialize + * + * \returns deserialized value + */ template T LMDBAL::Serializer::deserialize(const MDB_val& value) { T result; @@ -60,6 +103,14 @@ T LMDBAL::Serializer::deserialize(const MDB_val& value) { return result; } +/** + * \brief Deserializes value + * + * This is a normal way to deseriaze value + * + * \param[in] value - a value you want to deserialize + * \param[out] result - deserialized value + */ template void LMDBAL::Serializer::deserialize(const MDB_val& value, T& result) { clear(); @@ -67,11 +118,21 @@ void LMDBAL::Serializer::deserialize(const MDB_val& value, T& result) { stream >> result; } +/** + * \brief Private function that handles serialization + * + * \param[in] value - a value you want to serialize + */ template void LMDBAL::Serializer::_setData(const T& value) { stream << value; } +/** + * \brief Clears the state of serializer + * + * Normally you don't need to call this function + */ template void LMDBAL::Serializer::clear() { if (buffer.pos() > 0) { @@ -79,6 +140,15 @@ void LMDBAL::Serializer::clear() { } } +/** + * \brief Returns the data if it already was serialized + * + * Normally you don't need to call this function + * + * This may be usefull if you called LMDBAL::Serilizer::setData() but lost the result + * + * \returns Serialized data + */ template MDB_val LMDBAL::Serializer::getData() { MDB_val val; diff --git a/src/storage.h b/src/storage.h index bf58222..fa9516c 100644 --- a/src/storage.h +++ b/src/storage.h @@ -35,6 +35,12 @@ protected: iStorage(const std::string& name, Base* parent); virtual ~iStorage(); + /** + * \brief A private virtual function I need to open each storage in the database + * + * \param[in] transaction - lmdb transaction to call mdb_dbi_open + * \returns MDB_SUCCESS if everything went smooth or MDB_ -like error code + */ virtual int open(MDB_txn * transaction) = 0; virtual void close();