#pragma once #include #include #include #include "src/Helpers/Pair.hpp" namespace Targets { struct TargetBitFieldDescriptor { public: std::string key; std::string name; std::uint64_t mask; std::optional description; TargetBitFieldDescriptor( const std::string& key, const std::string& name, std::uint64_t mask, std::optional description ); TargetBitFieldDescriptor& operator = (const TargetBitFieldDescriptor& other) = delete; TargetBitFieldDescriptor(TargetBitFieldDescriptor&& other) noexcept = default; TargetBitFieldDescriptor& operator = (TargetBitFieldDescriptor&& other) = default; [[nodiscard]] TargetBitFieldDescriptor clone() const; private: TargetBitFieldDescriptor(const TargetBitFieldDescriptor& other) = default; }; }