memgraph/include/storage/model/properties/null.hpp

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();
};