Scarab  v2.0.0
Project 8 C++ Utility Library
scarab_version.hh
Go to the documentation of this file.
1 /*
2  * version.hh
3  *
4  * Generated by cmake from mt_version.hh.in
5  *
6  * Created on: Mar 20, 2013
7  * Author: nsoblath
8  */
9 
10 #ifndef SCARAB_VERSION_HH_
11 #define SCARAB_VERSION_HH_
12 
13 #include "scarab_api.hh"
14 
15 #include <string>
16 
17 namespace scarab
18 {
20  {
21  public:
22  version_ifc();
23  version_ifc( const version_ifc& );
24  virtual ~version_ifc();
25 
26  version_ifc& operator=( const version_ifc& );
27 
28  virtual unsigned major_version() const = 0;
29  virtual unsigned minor_version() const = 0;
30  virtual unsigned patch_version() const = 0;
31 
32  virtual const std::string& version_str() const = 0;
33 
34  virtual const std::string& package() const = 0;
35  virtual const std::string& commit() const = 0;
36 
37  virtual const std::string& exe_name() const = 0;
38  virtual const std::string& hostname() const = 0;
39  virtual const std::string& username() const = 0;
40 
41  virtual std::string version_info_string() const = 0;
42  };
43 
45  {
46  public:
48  version_semantic( unsigned a_maj_ver, unsigned a_min_ver, unsigned a_patch_ver );
49  version_semantic( const std::string& a_ver );
50  version_semantic( const version_semantic& a_orig );
52 
53  version_semantic& operator=( const version_semantic& a_orig );
54 
56  bool operator<( const version_semantic& a_other );
58  bool operator==( const version_semantic& a_other );
59 
60  virtual unsigned major_version() const;
61  virtual unsigned minor_version() const;
62  virtual unsigned patch_version() const;
63 
64  virtual const std::string& version_str() const;
65 
66  virtual const std::string& package() const;
67  virtual const std::string& commit() const;
68 
69  virtual const std::string& exe_name() const;
70  virtual const std::string& hostname() const;
71  virtual const std::string& username() const;
72 
73  virtual std::string version_info_string() const;
74 
75  public:
76  bool parse( const std::string& a_ver );
77 
78  bool combine( unsigned a_maj_ver, unsigned a_min_ver, unsigned a_patch_ver );
79 
80  bool update_exe_host_user();
81 
82  protected:
83  static char s_delimeter;
84 
85  unsigned f_major_ver;
86  unsigned f_minor_ver;
87  unsigned f_patch_ver;
88  std::string f_version;
89 
90  std::string f_package;
91  std::string f_commit;
92 
93  std::string f_exe_name;
94  std::string f_hostname;
95  std::string f_username;
96  };
97 
98 
100  {
101  public:
102  version();
103  ~version();
104  };
105 
106 
107 
108  inline unsigned version_semantic::major_version() const
109  {
110  return f_major_ver;
111  }
112  inline unsigned version_semantic::minor_version() const
113  {
114  return f_minor_ver;
115  }
116  inline unsigned version_semantic::patch_version() const
117  {
118  return f_patch_ver;
119  }
120 
121  inline const std::string& version_semantic::version_str() const
122  {
123  return f_version;
124  }
125 
126  inline const std::string& version_semantic::package() const
127  {
128  return f_package;
129  }
130 
131  inline const std::string& version_semantic::commit() const
132  {
133  return f_commit;
134  }
135 
136  inline const std::string& version_semantic::exe_name() const
137  {
138  return f_exe_name;
139  }
140  inline const std::string& version_semantic::hostname() const
141  {
142  return f_hostname;
143  }
144  inline const std::string& version_semantic::username() const
145  {
146  return f_username;
147  }
148 
149 } // namespace dripline
150 
151 #endif /* SCARAB_VERSION_HH_ */
constexpr bool operator==(const day &x, const day &y) noexcept
Definition: date.h:1274
auto parse(const std::basic_string< CharT, Traits, Alloc > &format, Parsable &tp) -> decltype(from_stream(std::declval< std::basic_istream< CharT, Traits > & >(), format.c_str(), tp), parse_manip< Parsable, CharT, Traits, Alloc >
Definition: date.h:7239
#define SCARAB_API
Definition: scarab_api.hh:24
virtual unsigned major_version() const
virtual const std::string & commit() const
virtual const std::string & version_str() const
virtual const std::string & exe_name() const
virtual unsigned patch_version() const
virtual const std::string & hostname() const
virtual const std::string & username() const
virtual const std::string & package() const
virtual unsigned minor_version() const
constexpr bool operator<(const day &x, const day &y) noexcept
Definition: date.h:1290