Transfer Ease
Loading...
Searching...
No Matches
tease::Semver Class Reference

Allow to manage semantic version informations. More...

Public Types

enum  Field { SEMVER_MAJOR = 0 , SEMVER_MINOR , SEMVER_PATCH , SEMVER_NB_FIELDS }
 Field of semantic versionning. More...
 

Public Member Functions

 Semver ()
 Default semver constructor.
 
 Semver (int major, int minor, int patch)
 
 Semver (const std::string &semver, char delimiter)
 Construct semver from a string.
 
 Semver (const Semver &other)
 
 Semver (Semver &&other) noexcept
 
void setField (Field idField, int value)
 
void clear ()
 Use to reset semver informations.
 
int getField (Field idField) const
 
bool isValid () const
 Use to know if semver is valid.
 
std::string toString (char delimiter, int widthField) const
 Use to create a string from semantic version value.
 
bool parseString (const std::string &version, char delimiter)
 Set semver informations from a string.
 
Semveroperator= (const Semver &other)
 
Semveroperator= (Semver &&other) noexcept
 

Static Public Member Functions

static const SemvergetLibraryVersion ()
 Retrieve library semantic version at runtime.
 

Friends

TEASE_EXPORT friend bool operator== (const Semver &left, const Semver &right)
 
TEASE_EXPORT friend bool operator!= (const Semver &left, const Semver &right)
 
TEASE_EXPORT friend bool operator< (const Semver &left, const Semver &right)
 
TEASE_EXPORT friend bool operator<= (const Semver &left, const Semver &right)
 
TEASE_EXPORT friend bool operator> (const Semver &left, const Semver &right)
 
TEASE_EXPORT friend bool operator>= (const Semver &left, const Semver &right)
 

Detailed Description

Allow to manage semantic version informations.

This class follow principles of semantic versionning, more details can be found at: https://semver.org

See also
getLibraryVersion()

Member Enumeration Documentation

◆ Field

Field of semantic versionning.

Enumerator
SEMVER_MAJOR 

Major field, mainly used to represent version that break API/ABI compatibility

SEMVER_MINOR  

Minor field, mainly used to represent new features or change behaviour that are backward compatible

SEMVER_PATCH  

Patch field, mainly used to represent bug fixes

SEMVER_NB_FIELDS  

Enum value used to track number of available fields

Constructor & Destructor Documentation

◆ Semver() [1/5]

tease::Semver::Semver ( )

Default semver constructor.

All fields will be set to 0.

See also
isValid()

◆ Semver() [2/5]

tease::Semver::Semver ( int major,
int minor,
int patch )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Semver() [3/5]

tease::Semver::Semver ( const std::string & semver,
char delimiter )

Construct semver from a string.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

See parseString() method for more details.

◆ Semver() [4/5]

tease::Semver::Semver ( const Semver & other)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ Semver() [5/5]

tease::Semver::Semver ( Semver && other)
noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Member Function Documentation

◆ clear()

void tease::Semver::clear ( )

Use to reset semver informations.

All fields will be reset to 0.

See also
isValid()

◆ getLibraryVersion()

const Semver & tease::Semver::getLibraryVersion ( )
static

Retrieve library semantic version at runtime.

Note
If compile time version check for library is needed, we can use macro TEASE_VERSION_ENCODE (defined inside transferease_global.h file)
Returns
Return constant reference to semantic version of the library

◆ isValid()

bool tease::Semver::isValid ( ) const

Use to know if semver is valid.

A semantic version is considered valid if sum of all fields are strictly superior to 0.

Returns
Returns true if valid

◆ parseString()

bool tease::Semver::parseString ( const std::string & version,
char delimiter )

Set semver informations from a string.

Parameters
[in]versionString value containing semver informations.
[in]delimiterDelimiter to use to parse semver informations
Returns
Return true if parsing succeed.
In case of failure, semver will be clear()
See also
clear(), isValid()
toString()

◆ toString()

std::string tease::Semver::toString ( char delimiter,
int widthField ) const

Use to create a string from semantic version value.

Parameters
[in]delimiterDelimiter to use between semantic properties.
[in]widthFieldMinimum size field to use. If value represented in string is inferior to this size, leading zeros will be used.
For example:
const Semver semver(2, 10, 4);
std::cout << semver.toString('.', 2); // Print: "02.10.04"
std::cout << semver.toString('.', 1); // Print: "2.10.4"
Allow to manage semantic version informations.
Definition semver.h:18
Returns
Return generated string from semantic version value.
This value can be empty if invalid.
See also
isValid()
parseString()

The documentation for this class was generated from the following files: