osquery-1/osquery/utils/versioning/semantic.h
Filipe Manco a67525fae1 Fix LICENSE information on file headers (#5375)
Summary:
Pull Request resolved: https://github.com/facebook/osquery/pull/5375

LICENSE is now defined in a single file on the root of the project, update the
header to contain that information.

**Project LICENSE did not change.**

Reviewed By: akindyakov

Differential Revision: D13750575

fbshipit-source-id: 1e608a81b260b8395f9d008fc67f463160c1fc2b
2019-01-21 11:51:54 -08:00

38 lines
876 B
C++

/**
* Copyright (c) 2014-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed as defined on the LICENSE file found in the
* root directory of this source tree.
*/
#include <osquery/utils/conversions/tryto.h>
#include <osquery/utils/expected/expected.h>
#include <string>
namespace osquery {
class SemanticVersion {
public:
unsigned major = 0;
unsigned minor = 0;
unsigned patches = 0;
public:
static constexpr auto separator = '.';
public:
static Expected<SemanticVersion, ConversionError> tryFromString(
const std::string& str);
};
template <typename ToType>
inline typename std::enable_if<std::is_same<ToType, SemanticVersion>::value,
Expected<ToType, ConversionError>>::type
tryTo(const std::string& str) {
return SemanticVersion::tryFromString(str);
}
} // namespace osquery