10 Version::Version(
const std::string& v) : versionMajor(0), versionMinor(0), versionPatch(0), buildInfo{
""} {
13 if(std::sscanf(v.c_str(),
"%u.%u.%u+%255s", &versionMajor, &versionMinor, &versionPatch,
buffer) != 4) {
14 if(std::sscanf(v.c_str(),
"%u.%u.%u", &versionMajor, &versionMinor, &versionPatch) != 3) {
15 throw std::runtime_error(
"Cannot parse version: " + v);
18 buildInfo = std::string{
buffer};
22 Version::Version(
unsigned vmajor,
unsigned vminor,
unsigned vpatch) : versionMajor(vmajor), versionMinor(vminor), versionPatch(vpatch), buildInfo{
""} {}
24 Version::Version(
unsigned vmajor,
unsigned vminor,
unsigned vpatch, std::string buildInfo)
25 : versionMajor(vmajor), versionMinor(vminor), versionPatch(vpatch), buildInfo(buildInfo) {}