modify something

This commit is contained in:
CupWater
2026-08-19 09:00:28 +08:00
parent c7d4b87d3e
commit d65184f678
9 changed files with 66 additions and 40 deletions
+23 -14
View File
@@ -5,27 +5,36 @@
namespace flog
{
typedef uint32_t MessageFlag;
typedef uint32_t LogMessageFlag;
typedef LogMessageFlag MessageFlag;
class MessageFlagManager
typedef class LogMessageFlagManager
{
public:
MessageFlagManager() noexcept = default;
~MessageFlagManager() = default;
static constexpr MessageFlag ADD_FAILED = 0;
MessageFlagManager(const MessageFlagManager&) noexcept = default;
MessageFlagManager& operator=(const MessageFlagManager&) noexcept = default;
MessageFlagManager(MessageFlagManager&&) noexcept = default;
MessageFlagManager& operator=(MessageFlagManager&&) noexcept = default;
static constexpr size_t FLAG_ARRAY_SIZE = std::numeric_limits<MessageFlag>::digits;
_NODISCARD bool isFull() const noexcept { return flagCount >= std::numeric_limits<MessageFlag>::digits; }
_NODISCARD bool pushable() const noexcept { return !isFull(); }
_NODISCARD bool isEmpty() const noexcept { return flagCount == 0; }
LogMessageFlagManager() noexcept = default;
~LogMessageFlagManager() = default;
_NODISCARD bool contains(std::string_view name) const noexcept;
LogMessageFlagManager(const LogMessageFlagManager&) noexcept = default;
LogMessageFlagManager& operator=(const LogMessageFlagManager&) noexcept = default;
LogMessageFlagManager(LogMessageFlagManager&&) noexcept = default;
LogMessageFlagManager& operator=(LogMessageFlagManager&&) noexcept = default;
NODISCARD bool isFull() const noexcept { return flagCount >= FLAG_ARRAY_SIZE; }
NODISCARD bool pushable() const noexcept { return !isFull(); }
NODISCARD bool isEmpty() const noexcept { return flagCount == 0; }
NODISCARD bool empty() const noexcept { return isEmpty(); }
NODISCARD bool contains(std::string_view name) const noexcept;
NODISCARD MessageFlag addFlag (std::string_view name);
NODISCARD MessageFlag findFlag(std::string_view name) const;
private:
std::array<std::string, std::numeric_limits<MessageFlag>::digits> m_flagMap{};
std::array<std::string, FLAG_ARRAY_SIZE> m_flagMap{};
size_t flagCount { 0 };
};
} MessageFlagManager;
}