1 #include "otsdaq/TableCore/TableVersion.h"
5 const unsigned int TableVersion::INVALID = -1;
6 const unsigned int TableVersion::DEFAULT = 0;
7 const unsigned int TableVersion::SCRATCH = ~(1 << 31);
10 TableVersion::TableVersion(
unsigned int version) : version_(version) {}
11 TableVersion::TableVersion(
char*
const& versionStr)
14 version_ = TableVersion::INVALID;
16 sscanf(versionStr,
"%u", &version_);
18 TableVersion::TableVersion(
const std::string& versionStr) :
TableVersion((char*)versionStr.c_str()) {}
21 TableVersion::~TableVersion(
void) {}
26 unsigned int TableVersion::version(
void)
const {
return version_; }
30 std::string TableVersion::toString(
void)
const
33 return (isTemporaryVersion() || isInvalid()) ? std::to_string((
int)version_) : std::to_string(version_);
38 TableVersion& TableVersion::operator=(
const unsigned int version)
46 bool TableVersion::operator==(
unsigned int version)
const {
return (version_ == version); }
47 bool TableVersion::operator==(
const TableVersion& version)
const {
return (version_ == version.version_); }
51 bool TableVersion::operator!=(
unsigned int version)
const {
return (version_ != version); }
52 bool TableVersion::operator!=(
const TableVersion& version)
const {
return (version_ != version.version_); }
56 bool TableVersion::operator<(
const TableVersion& version)
const {
return (version_ < version.version_); }
60 bool TableVersion::operator>(
const TableVersion& version)
const {
return (version_ > version.version_); }
64 bool TableVersion::isInvalid()
const
66 return (version_ == TableVersion::INVALID || (version_ > TableVersion::SCRATCH && version_ < INVALID - NUM_OF_TEMP_VERSIONS));
72 bool TableVersion::isTemporaryVersion()
const {
return (version_ >= INVALID - NUM_OF_TEMP_VERSIONS && version_ != INVALID); }
77 bool TableVersion::isScratchVersion()
const {
return (version_ == TableVersion::SCRATCH); }
82 bool TableVersion::isMockupVersion()
const {
return (version_ == TableVersion::INVALID); }
93 return (!retVersion.isInvalid() && !retVersion.isTemporaryVersion()) ? retVersion :
TableVersion();
104 TableVersion retVersion(version.isTemporaryVersion() ? (version.version_ - 1) : (INVALID - 1));
105 return retVersion.isTemporaryVersion() ? retVersion :
TableVersion();