#ifndef CID_HPP #define CID_HPP namespace adopted { class cid { public: bool operator==(const cid& other) const { return val_ == other.val_; } bool operator!=(const cid& other) const { return val_ != other.val_; } cid operator -() const { return cid(-val_); } static const cid self; // Transform self static const cid none; // Unspecified static const cid other; // Transform other private: typedef int cid_type; explicit cid(cid_type val): val_(val) {} cid_type val_; }; } // namespace adopted #endif // CID_HPP /* vim:set et sw=2 ts=2: */