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.
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.
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.
static const int DEFAULT_NUMBER
Default number.
friend std::ostream & operator<<(std::ostream &out, const JUPI_t &object)
Write UPI to output 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.
friend std::istream & operator>>(std::istream &in, JUPI_t &object)
Read UPI from input stream.
static const char SEPARATOR
Separator between PBS, variant and version.
const JUPI_t & getUPI() const
Get UPI.
const std::string & getVariant() const
Get variant.
JUPI_t()
Default constructor.
int getNumber() const
Get serial number.