Versioning
[CORELIB]

Collaboration diagram for Versioning:


Classes

class  CVersionInfo
 CVersionInfo --. More...
class  CComponentVersionInfo
class  CVersion
 CVersion --. More...

Functions

bool IsBetterVersion (const CVersionInfo &info, const CVersionInfo &cinfo, int &best_major, int &best_minor, int &best_patch_level)
 Return true if one version info is matches another better than the best variant.
bool operator== (const CVersionInfo &v1, const CVersionInfo &v2)
bool operator< (const CVersionInfo &v1, const CVersionInfo &v2)
ostream & operator<< (ostream &strm, const CVersionInfo &v)
template<class It>
It FindVersion (It first, It last, const CVersionInfo &info)
 Algorithm function to find version in the container.
template<class TClass>
TClass::const_iterator FindVersion (const TClass &cont, const CVersionInfo &info)
 Algorithm function to find version in the container.
void ParseVersionString (const string &vstr, string *program_name, CVersionInfo *ver)
 Parse string, extract version info and program name (case insensitive).


Function Documentation

template<class TClass>
TClass::const_iterator FindVersion const TClass &  cont,
const CVersionInfo info
 

Algorithm function to find version in the container.

Scans the provided container for version with the same major and minor version and the newest patch level.

Parameters:
container container object to search in
Returns:
iterator on the best fit version (last if no version found)

Definition at line 358 of file version.hpp.

References FindVersion().

template<class It>
It FindVersion It  first,
It  last,
const CVersionInfo info
 

Algorithm function to find version in the container.

Scans the provided iterator for version with the same major and minor version and the newest patch level.

Parameters:
first first iterator to start search
last ending iterator (typically returned by end() function of an STL container)
Returns:
iterator on the best version or last

Definition at line 327 of file version.hpp.

References IsBetterVersion().

Referenced by FindVersion().

bool IsBetterVersion const CVersionInfo info,
const CVersionInfo cinfo,
int &  best_major,
int &  best_minor,
int &  best_patch_level
 

Return true if one version info is matches another better than the best variant.

When condition satisfies, return true and the former best values are getting updated

Parameters:
info Version info to search
cinfo Comparison candidate
best_major Best major version found (reference)
best_minor Best minor version found (reference)
best_patch_level Best patch levelfound (reference)

Definition at line 223 of file version.cpp.

References CVersionInfo::GetMajor(), CVersionInfo::GetMinor(), and CVersionInfo::GetPatchLevel().

Referenced by CPluginManager< TClass >::FindClassFactory(), FindVersion(), and operator<().

bool operator< const CVersionInfo v1,
const CVersionInfo v2
[inline]
 

Definition at line 297 of file version.hpp.

References IsBetterVersion().

ostream& operator<< ostream &  strm,
const CVersionInfo v
[inline]
 

Definition at line 307 of file version.hpp.

References CVersionInfo::GetMajor(), CVersionInfo::GetMinor(), and CVersionInfo::GetPatchLevel().

bool operator== const CVersionInfo v1,
const CVersionInfo v2
[inline]
 

Definition at line 290 of file version.hpp.

References CVersionInfo::eFullyCompatible, and CVersionInfo::Match().

void ParseVersionString const string &  vstr,
string *  program_name,
CVersionInfo ver
 

Parse string, extract version info and program name (case insensitive).

Examples: MyProgram 1.2.3 MyProgram version 1.2.3 MyProgram v. 1.2.3 MyProgram ver. 1.2.3 version 1.2.3

Definition at line 279 of file version.cpp.

References _ASSERT, and NCBI_THROW2.

Referenced by CQueueClientInfoList::AddClientInfo().


Generated on Mon Dec 7 16:01:46 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:35 2009 by modify_doxy.py rev. 173732