rogue
Loading...
Searching...
No Matches
Version.h
Go to the documentation of this file.
1
17#ifndef __ROGUE_VERSION_H__
18#define __ROGUE_VERSION_H__
19#include "rogue/Directives.h"
20
21#include <stdint.h>
22
23#include <string>
24
25namespace rogue {
26
35class Version {
36 static void init();
37 static void extract(const std::string& compare, uint32_t* major, uint32_t* minor, uint32_t* maint);
38
39 static const char _version[];
40
41 static uint32_t _major;
42 static uint32_t _minor;
43 static uint32_t _maint;
44 static uint32_t _devel;
45
46 public:
49
54 static std::string current();
55
61 static bool greaterThanEqual(const std::string& compare);
62
68 static bool greaterThan(const std::string& compare);
69
75 static bool lessThanEqual(const std::string& compare);
76
82 static bool lessThan(const std::string& compare);
83
88 static void minVersion(const std::string& compare);
89
94 static void maxVersion(const std::string& compare);
95
100 static void exactVersion(const std::string& compare);
101
103 static void setup_python();
104
106 static uint32_t getMajor();
108 static uint32_t getMinor();
110 static uint32_t getMaint();
112 static uint32_t getDevel();
113
115 static void sleep(uint32_t seconds);
117 static void usleep(uint32_t useconds);
118
120 static std::string pythonVersion();
121};
122} // namespace rogue
123
124#endif
Rogue version query and comparison helpers.
Definition Version.h:35
static bool lessThanEqual(const std::string &compare)
Returns whether current version is less than or equal to compare.
Definition Version.cpp:91
static void maxVersion(const std::string &compare)
Throws if current version is above allowed maximum.
Definition Version.cpp:116
static void minVersion(const std::string &compare)
Throws if current version is below required minimum.
Definition Version.cpp:111
static uint32_t getMinor()
Returns minor version component.
Definition Version.cpp:131
static std::string current()
Returns current Rogue version string.
Definition Version.cpp:66
Version()
Default constructor.
Definition Version.h:48
static void setup_python()
Registers Python bindings for version helpers.
Definition Version.cpp:168
static bool greaterThanEqual(const std::string &compare)
Returns whether current version is greater than or equal to compare.
Definition Version.cpp:71
static std::string pythonVersion()
Returns Python runtime version string.
Definition Version.cpp:146
static uint32_t getMajor()
Returns major version component.
Definition Version.cpp:126
static uint32_t getDevel()
Returns development/build component.
Definition Version.cpp:141
static bool lessThan(const std::string &compare)
Returns whether current version is less than compare.
Definition Version.cpp:101
static bool greaterThan(const std::string &compare)
Returns whether current version is greater than compare.
Definition Version.cpp:81
static void exactVersion(const std::string &compare)
Throws unless current version exactly matches compare.
Definition Version.cpp:121
static uint32_t getMaint()
Returns maintenance/patch version component.
Definition Version.cpp:136
static void usleep(uint32_t useconds)
Microsecond sleep helper for testing/debug timing.
Definition Version.cpp:163
static void sleep(uint32_t seconds)
Sleep helper for testing/debug timing.
Definition Version.cpp:158