Go to the documentation of this file.
57 JUPI(
const std::string& upi)
59 std::istringstream(upi) >> *
this;
70 return static_cast<const JUPI&>(*
this);
125 object.variant.clear();
127 if (in >> static_cast<JPBS&>(
object)) {
131 const int c = in.peek();
133 if (c != EOF && !isspace(c))
134 in >>
object.variant;
136 in.setstate(ios::failbit);
140 in.setstate(ios::failbit);
157 return out <<
object.getPBS() <<
JPBS::SEPARATOR <<
object.getVariant();
JUPI()
Default constructor.
bool equals(const JUPI &upi) const
Equality.
static const char SEPARATOR
Separator between PBS and variant.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary classes and methods for database I/O.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
const JUPI & getUPI() const
Get UPI.
friend bool operator<(const JUPI &first, const JUPI &second)
Less-than operator.
Product breakdown structure (PBS).
friend std::ostream & operator<<(std::ostream &out, const JUPI &object)
Write UPI to output stream.
JUPI(const JPBS &pbs, const std::string &variant="")
Constructor.
friend std::istream & operator>>(std::istream &in, JUPI &object)
Read UPI from input stream.
const std::string & getVariant() const
Get variant.
const JPBS & getPBS() const
Get PBS.
JUPI(const std::string &upi)
Constructor.
Universal product identifier (UPI).