32 lines
705 B
C++
32 lines
705 B
C++
#pragma once
|
|
|
|
#include "storage/model/properties/property.hpp"
|
|
|
|
class Null : public Property
|
|
{
|
|
public:
|
|
friend class Property;
|
|
|
|
static constexpr Flags type = Flags::Null;
|
|
|
|
Null(const Null&) = delete;
|
|
Null(Null&&) = delete;
|
|
|
|
Null operator=(const Null&) = delete;
|
|
|
|
bool operator==(const Property& other) const override;
|
|
|
|
bool operator==(const Null&) const;
|
|
|
|
explicit operator bool();
|
|
|
|
friend std::ostream& operator<<(std::ostream& stream, const Null&);
|
|
|
|
std::ostream& print(std::ostream& stream) const override;
|
|
|
|
private:
|
|
// the constructor for null is private, it can be constructed only as a
|
|
// value inside the Property class, Property::Null
|
|
Null();
|
|
};
|