00001 #ifndef PROTON_NULL_HPP
00002 #define PROTON_NULL_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00027
00028 #include "./internal/config.hpp"
00029 #include "./internal/comparable.hpp"
00030 #include "./internal/export.hpp"
00031
00032 #include <iosfwd>
00033
00034 namespace proton {
00035
00039 class null : private internal::comparable<null> {
00040 public:
00041 null() {}
00042 #if PN_CPP_HAS_NULLPTR
00044 null(decltype(nullptr)) {}
00045 #endif
00047 friend bool operator==(const null&, const null&) { return true; }
00049 friend bool operator<(const null&, const null&) { return false; }
00050 };
00051
00053 PN_CPP_EXTERN std::ostream& operator<<(std::ostream&, const null&);
00054
00055 }
00056
00057 #endif // PROTON_NULL_HPP