Jpp - the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Attributes | Protected Attributes | Friends | List of all members
JEEP::JVersion Struct Reference

Auxiliary data structure for I/O of version number. More...

#include <JVersion.hh>

Inheritance diagram for JEEP::JVersion:
JLANG::JComparable< JFirst_t, JSecond_t > JDATABASE::JDBAPIVersion

Public Member Functions

 JVersion ()
 Default constructor. More...
 
 JVersion (const int major, const int minor, const int patch)
 Constructor. More...
 
int getMajorVersion () const
 Get major version. More...
 
int getMinorVersion () const
 Get minor version. More...
 
int getPatchVersion () const
 Get patch version. More...
 
bool less (const JVersion &object) const
 Compare database API version. More...
 

Static Public Attributes

static const char SEPARATOR = '.'
 

Protected Attributes

unsigned int majorVersion
 API major version. More...
 
unsigned int minorVersion
 API minor version. More...
 
unsigned int patchVersion
 API patch version. More...
 

Friends

std::istream & operator>> (std::istream &in, JVersion &object)
 Read in version from input stream. More...
 
std::ostream & operator<< (std::ostream &out, const JVersion &object)
 Write version to output stream. More...
 

Detailed Description

Auxiliary data structure for I/O of version number.

Definition at line 32 of file Jeep/JVersion.hh.

Constructor & Destructor Documentation

JEEP::JVersion::JVersion ( )
inline

Default constructor.

Definition at line 40 of file Jeep/JVersion.hh.

40  :
41  majorVersion(0),
42  minorVersion(0),
43  patchVersion(0)
44  {}
unsigned int majorVersion
API major version.
unsigned int minorVersion
API minor version.
unsigned int patchVersion
API patch version.
JEEP::JVersion::JVersion ( const int  major,
const int  minor,
const int  patch 
)
inline

Constructor.

Parameters
majormajor version
minorminor version
patchpatch version

Definition at line 54 of file Jeep/JVersion.hh.

56  :
57  majorVersion(major),
58  minorVersion(minor),
59  patchVersion(patch)
60  {}
unsigned int majorVersion
API major version.
unsigned int minorVersion
API minor version.
unsigned int patchVersion
API patch version.

Member Function Documentation

int JEEP::JVersion::getMajorVersion ( ) const
inline

Get major version.

Returns
major version.

Definition at line 68 of file Jeep/JVersion.hh.

69  {
70  return majorVersion;
71  }
unsigned int majorVersion
API major version.
int JEEP::JVersion::getMinorVersion ( ) const
inline

Get minor version.

Returns
minor version.

Definition at line 79 of file Jeep/JVersion.hh.

80  {
81  return minorVersion;
82  }
unsigned int minorVersion
API minor version.
int JEEP::JVersion::getPatchVersion ( ) const
inline

Get patch version.

Returns
patch version.

Definition at line 90 of file Jeep/JVersion.hh.

91  {
92  return patchVersion;
93  }
unsigned int patchVersion
API patch version.
bool JEEP::JVersion::less ( const JVersion object) const
inline

Compare database API version.

Parameters
objecttrue if this version is less than given version; else false

Definition at line 101 of file Jeep/JVersion.hh.

102  {
103  if (this->majorVersion == object.majorVersion) {
104 
105  if (this->minorVersion == object.minorVersion) {
106 
107  return this->patchVersion < object.patchVersion;
108 
109  } else {
110 
111  return this->minorVersion < object.minorVersion;
112  }
113 
114  } else {
115 
116  return this->majorVersion < object.majorVersion;
117  }
118  }
unsigned int majorVersion
API major version.
unsigned int minorVersion
API minor version.
unsigned int patchVersion
API patch version.

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JVersion object 
)
friend

Read in version from input stream.

Parameters
ininput stream
objectdatabase API version
Returns
input stream

Definition at line 128 of file Jeep/JVersion.hh.

129  {
130  using namespace std;
131 
132  unsigned int version;
133 
134  if (in >> version) {
135  object.majorVersion = version;
136  } else {
137  in.setstate(ios::failbit);
138  }
139 
140  if ((in.peek() == (int) JVersion::SEPARATOR) && (in.ignore() && in >> version)) {
141  object.minorVersion = version;
142  } else {
143  in.setstate(ios::failbit);
144  }
145 
146  if ((in.peek() == (int) JVersion::SEPARATOR) && (in.ignore() && in >> version)) {
147  object.patchVersion = version;
148  } else {
149  in.setstate(ios::failbit);
150  }
151 
152  return in;
153  }
static const char SEPARATOR
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:38
version
Definition: JCalibratePMT.sh:7
std::ostream& operator<< ( std::ostream &  out,
const JVersion object 
)
friend

Write version to output stream.

Parameters
outoutput stream
objectdatabase API version
Returns
output stream

Definition at line 163 of file Jeep/JVersion.hh.

164  {
165  return out <<
166  object.majorVersion << JVersion::SEPARATOR <<
167  object.minorVersion << JVersion::SEPARATOR <<
168  object.patchVersion;
169  }
static const char SEPARATOR

Member Data Documentation

const char JEEP::JVersion::SEPARATOR = '.'
static

Definition at line 35 of file Jeep/JVersion.hh.

unsigned int JEEP::JVersion::majorVersion
protected

API major version.

Definition at line 174 of file Jeep/JVersion.hh.

unsigned int JEEP::JVersion::minorVersion
protected

API minor version.

Definition at line 175 of file Jeep/JVersion.hh.

unsigned int JEEP::JVersion::patchVersion
protected

API patch version.

Definition at line 176 of file Jeep/JVersion.hh.


The documentation for this struct was generated from the following file: