2016-07-05 11:01:22 +08:00
|
|
|
#pragma once
|
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
#include <ostream>
|
|
|
|
#include <string>
|
|
|
|
#include "storage/model/properties/flags.hpp"
|
|
|
|
#include "utils/void.hpp"
|
2016-07-05 11:01:22 +08:00
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
class Null
|
2016-07-05 11:01:22 +08:00
|
|
|
{
|
|
|
|
public:
|
2016-09-05 17:02:48 +08:00
|
|
|
const static Type type;
|
2016-07-05 11:01:22 +08:00
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
Void &value() { return Void::_void; }
|
|
|
|
Void const &value() const { return Void::_void; }
|
2016-07-05 11:01:22 +08:00
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
std::ostream &print(std::ostream &stream) const;
|
2016-07-05 11:01:22 +08:00
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
friend std::ostream &operator<<(std::ostream &stream, const Null &prop);
|
2016-07-05 11:01:22 +08:00
|
|
|
|
2016-09-05 17:02:48 +08:00
|
|
|
bool operator==(const Null &) const;
|
2016-07-05 11:01:22 +08:00
|
|
|
|
|
|
|
explicit operator bool();
|
|
|
|
};
|