// ContentId.h #ifndef ContentId_H #define ContentId_H // Class to specify the content of an ATLAS data object. // The content specification includes type (class ID) // and key. #include #include class ContentId { public: // typedefs typedef unsigned long ClassId; typedef std::string Key; public: // functions // Constructor ContentId(ClassId clid=0, Key key=""); // Validity. // Return true except for default constructor. bool is_valid() const; // Return the class ID. ClassId class_id() const { return m_clid; } // Return the key. Key key() const { return m_key; } private: //data ClassId m_clid; Key m_key; }; // Ordering. bool operator<(const ContentId& lhs, const ContentId& rhs); // Equality. bool operator==(const ContentId& lhs, const ContentId& rhs); // Output stream. std::ostream& operator<<(std::ostream& lhs, const ContentId& rhs); #endif