Vowpal Wabbit
Public Member Functions | Public Attributes | List of all members
VW::version_struct Struct Reference

#include <version.h>

Public Member Functions

 version_struct (int maj=0, int min=0, int rv=0)
 
 version_struct (const char *v_str)
 
 version_struct (const version_struct &v)
 
 ~version_struct ()=default
 
void operator= (const version_struct &v)
 
void operator= (const char *v_str)
 
bool operator== (const version_struct &v) const
 
bool operator== (const char *v_str) const
 
bool operator!= (const version_struct &v) const
 
bool operator!= (const char *v_str) const
 
bool operator>= (const version_struct &v) const
 
bool operator>= (const char *v_str) const
 
bool operator> (const version_struct &v) const
 
bool operator> (const char *v_str) const
 
bool operator<= (const version_struct &v) const
 
bool operator<= (const char *v_str) const
 
bool operator< (const version_struct &v) const
 
bool operator< (const char *v_str) const
 
std::string to_string () const
 
void from_string (const char *str)
 

Public Attributes

int32_t major
 
int32_t minor
 
int32_t rev
 

Detailed Description

Definition at line 10 of file version.h.

Constructor & Destructor Documentation

◆ version_struct() [1/3]

VW::version_struct::version_struct ( int  maj = 0,
int  min = 0,
int  rv = 0 
)

Definition at line 7 of file version.cc.

References major, minor, and rev.

8 {
9  major = maj;
10  minor = min;
11  rev = rv;
12 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ version_struct() [2/3]

VW::version_struct::version_struct ( const char *  v_str)

Definition at line 14 of file version.cc.

References from_string().

14 { from_string(v_str); }
void from_string(const char *str)
Definition: version.cc:108

◆ version_struct() [3/3]

VW::version_struct::version_struct ( const version_struct v)

Definition at line 16 of file version.cc.

References major, minor, and rev.

17 {
18  major = v.major;
19  minor = v.minor;
20  rev = v.rev;
21 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ ~version_struct()

VW::version_struct::~version_struct ( )
default

Member Function Documentation

◆ from_string()

void VW::version_struct::from_string ( const char *  str)

Definition at line 108 of file version.cc.

References major, minor, and rev.

Referenced by operator=(), and version_struct().

109 {
110 #ifdef _WIN32
111  sscanf_s(str, "%d.%d.%d", &major, &minor, &rev);
112 #else
113  std::sscanf(str, "%d.%d.%d", &major, &minor, &rev);
114 #endif
115 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ operator!=() [1/2]

bool VW::version_struct::operator!= ( const version_struct v) const

Definition at line 43 of file version.cc.

43 { return !(*this == v); }

◆ operator!=() [2/2]

bool VW::version_struct::operator!= ( const char *  v_str) const

Definition at line 45 of file version.cc.

45 { return !(*this == v_str); }

◆ operator<() [1/2]

bool VW::version_struct::operator< ( const version_struct v) const

Definition at line 93 of file version.cc.

93 { return !(*this >= v); }

◆ operator<() [2/2]

bool VW::version_struct::operator< ( const char *  v_str) const

Definition at line 95 of file version.cc.

95 { return !(*this >= v_str); }

◆ operator<=() [1/2]

bool VW::version_struct::operator<= ( const version_struct v) const

Definition at line 89 of file version.cc.

89 { return !(*this > v); }

◆ operator<=() [2/2]

bool VW::version_struct::operator<= ( const char *  v_str) const

Definition at line 91 of file version.cc.

91 { return !(*this > v_str); }

◆ operator=() [1/2]

void VW::version_struct::operator= ( const version_struct v)

Definition at line 23 of file version.cc.

References major, minor, and rev.

24 {
25  major = v.major;
26  minor = v.minor;
27  rev = v.rev;
28 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ operator=() [2/2]

void VW::version_struct::operator= ( const char *  v_str)

Definition at line 30 of file version.cc.

References from_string().

30 { from_string(v_str); }
void from_string(const char *str)
Definition: version.cc:108

◆ operator==() [1/2]

bool VW::version_struct::operator== ( const version_struct v) const

Definition at line 32 of file version.cc.

References major, minor, and rev.

33 {
34  return (major == v.major && minor == v.minor && rev == v.rev);
35 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ operator==() [2/2]

bool VW::version_struct::operator== ( const char *  v_str) const

Definition at line 37 of file version.cc.

38 {
39  version_struct v_tmp(v_str);
40  return (*this == v_tmp);
41 }
version_struct(int maj=0, int min=0, int rv=0)
Definition: version.cc:7

◆ operator>() [1/2]

bool VW::version_struct::operator> ( const version_struct v) const

Definition at line 68 of file version.cc.

References major, minor, and rev.

69 {
70  if (major < v.major)
71  return false;
72  if (major > v.major)
73  return true;
74  if (minor < v.minor)
75  return false;
76  if (minor > v.minor)
77  return true;
78  if (rev > v.rev)
79  return true;
80  return false;
81 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ operator>() [2/2]

bool VW::version_struct::operator> ( const char *  v_str) const

Definition at line 83 of file version.cc.

84 {
85  version_struct v_tmp(v_str);
86  return (*this > v_tmp);
87 }
version_struct(int maj=0, int min=0, int rv=0)
Definition: version.cc:7

◆ operator>=() [1/2]

bool VW::version_struct::operator>= ( const version_struct v) const

Definition at line 47 of file version.cc.

References major, minor, and rev.

48 {
49  if (major < v.major)
50  return false;
51  if (major > v.major)
52  return true;
53  if (minor < v.minor)
54  return false;
55  if (minor > v.minor)
56  return true;
57  if (rev >= v.rev)
58  return true;
59  return false;
60 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

◆ operator>=() [2/2]

bool VW::version_struct::operator>= ( const char *  v_str) const

Definition at line 62 of file version.cc.

63 {
64  version_struct v_tmp(v_str);
65  return (*this >= v_tmp);
66 }
version_struct(int maj=0, int min=0, int rv=0)
Definition: version.cc:7

◆ to_string()

std::string VW::version_struct::to_string ( ) const

Definition at line 97 of file version.cc.

References major, minor, and rev.

Referenced by parse_diagnostics(), save_load_header(), and VW::validate_version().

98 {
99  // int32_t has up to 10 digits, base-10.
100  // 3 * 30 + 2 = 92 => 128
101  char v_str[128];
102 
103  std::snprintf(v_str, sizeof(v_str), "%d.%d.%d", major, minor, rev);
104  std::string s = v_str;
105  return s;
106 }
int32_t major
Definition: version.h:12
int32_t minor
Definition: version.h:13

Member Data Documentation

◆ major

int32_t VW::version_struct::major

◆ minor

int32_t VW::version_struct::minor

◆ rev

int32_t VW::version_struct::rev

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