40 lines
1.0 KiB
C++
40 lines
1.0 KiB
C++
#ifndef PRIMARY_KEY_ATTRIBUTE_HPP
|
|
#define PRIMARY_KEY_ATTRIBUTE_HPP
|
|
|
|
namespace matador::utils {
|
|
class primary_key_attribute final {
|
|
public:
|
|
/**
|
|
* Creates 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
|