00001 #ifndef DataFormats_Provenance_FileFormatVersion_h 00002 #define DataFormats_Provenance_FileFormatVersion_h 00003 00004 #include <iosfwd> 00005 00006 namespace edm 00007 { 00008 struct FileFormatVersion 00009 { 00010 FileFormatVersion() : value_(-1) { } 00011 explicit FileFormatVersion(int vers) : value_(vers) { } 00012 bool isValid() const { return value_ >= 0; } 00013 00014 bool fastCopyPossible() const { return value_ >= 8; } 00015 00016 int value_; 00017 }; 00018 00019 inline 00020 bool operator== (FileFormatVersion const& a, FileFormatVersion const& b) 00021 { 00022 return a.value_ == b.value_; 00023 } 00024 00025 inline 00026 bool operator!= (FileFormatVersion const& a, FileFormatVersion const& b) 00027 { 00028 return !(a==b); 00029 } 00030 00031 std::ostream& 00032 operator<< (std::ostream& os, FileFormatVersion const& ff); 00033 00034 /* 00035 inline 00036 FileFormatVersion getFileFormatVersion() { 00037 static FileFormatVersion const fileFormatVersion; 00038 return fileFormatVersion; 00039 } 00040 */ 00041 } 00042 #endif