#ifndef PRIMARY_KEY_ATTRIBUTE_HPP #define PRIMARY_KEY_ATTRIBUTE_HPP #include namespace matador::utils { class primary_key_attribute final { public: /** * Creates a primary_key_attribute instance * with size 0 (zero). */ primary_key_attribute() = default; /** * Creates primary_key_attribute instance * with given size. * * @param size Size of the attribute */ primary_key_attribute(size_t size); // NOLINT(*-explicit-constructor) ~primary_key_attribute() = default; primary_key_attribute(const primary_key_attribute &) = default; primary_key_attribute(primary_key_attribute &&) = default; primary_key_attribute &operator=(const primary_key_attribute &) = default; primary_key_attribute &operator=(primary_key_attribute &&) = default; primary_key_attribute& operator=(size_t size); /** * Returns the size of the field * * @return Size of the field */ [[nodiscard]] size_t size() const; private: size_t size_ = 0; }; } #endif //PRIMARY_KEY_ATTRIBUTE_HPP