1 #ifndef __JDB__JUPI_T__
2 #define __JDB__JUPI_T__
91 std::istringstream(upi) >> *
this;
102 return static_cast<const JUPI_t&
>(*this);
146 std::ostringstream os;
214 in >>
static_cast<JPBS_t&
>(object);
224 if (in.peek() == (
int)
DOT) {
233 }
else if (in >>
object.
version &&
234 in.get() == (
int)
DOT &&
235 in >>
object.number) {
241 in.setstate(ios::failbit);
264 os <<
object.getVersion();
270 os <<
object.getNumber();
273 return out << os.str();
Auxiliary classes and methods for database I/O.
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Product breakdown structure (PBS).
static const char DOT
Separator between PBS values.
const JPBS_t & getPBS() const
Get PBS.
Universal product identifier (UPI).
JUPI_t(const std::string &upi)
Constructor.
const std::string & getVariant() const
Get variant.
static const int DEFAULT_VERSION
Default version.
std::string toString() const
Convert UPI.
int getVersion() const
Get version.
friend bool operator==(const JUPI_t &first, const JUPI_t &second)
Equality.
friend std::ostream & operator<<(std::ostream &out, const JUPI_t &object)
Write UPI to output stream.
static const int DEFAULT_NUMBER
Default number.
friend std::istream & operator>>(std::istream &in, JUPI_t &object)
Read UPI from input stream.
JUPI_t(const JPBS_t &pbs, const std::string &variant, const int version, const int number)
Constructor.
JUPI_t(const JPBS_t &pbs)
Constructor.
friend bool operator<(const JUPI_t &first, const JUPI_t &second)
Less-than operator.
static const char SEPARATOR
Separator between PBS, variant and version.
const JUPI_t & getUPI() const
Get UPI.
JUPI_t()
Default constructor.
int getNumber() const
Get serial number.