object generator progress

This commit is contained in:
Sascha Kühl
2025-11-24 16:26:52 +01:00
parent e67c0f39a3
commit ede5a8c636
17 changed files with 329 additions and 134 deletions
+34 -36
View File
@@ -8,45 +8,43 @@
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(generator_type generator); // NOLINT(*-explicit-constructor)
primary_key_attribute(size_t size, generator_type generator);
~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;
/**
* 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(generator_type generator); // NOLINT(*-explicit-constructor)
primary_key_attribute(size_t size, generator_type generator);
~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);
primary_key_attribute& operator=(generator_type generator);
primary_key_attribute& operator=(generator_type generator);
/**
* Returns the size of the field
*
* @return Size of the field
*/
[[nodiscard]] size_t size() const;
/**
* Returns the generator type of the field
*
* @return Generator type of the field
*/
[[nodiscard]] generator_type generator() const;
/**
* Returns the size of the field
*
* @return Size of the field
*/
[[nodiscard]] size_t size() const;
/**
* Returns the generator type of the field
*
* @return Generator type of the field
*/
[[nodiscard]] generator_type generator() const;
private:
size_t size_ = 0;
generator_type generator_ = generator_type::MANUALLY;
size_t size_ = 0;
generator_type generator_ = generator_type::MANUALLY;
};
const primary_key_attribute default_pk_attributes {};