#include "base/version.h"
#include <stddef.h>
#include <algorithm>
#include <ostream>
#include <string_view>
#include "base/check_op.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
namespace base {
namespace {
bool ParseVersionNumbers(std::string_view version_str,
std::vector<uint32_t>* parsed) { … }
int CompareVersionComponents(const std::vector<uint32_t>& components1,
const std::vector<uint32_t>& components2) { … }
}
Version::Version() = default;
Version::Version(const Version& other) = default;
Version::Version(Version&& other) = default;
Version::~Version() = default;
Version::Version(std::string_view version_str) { … }
Version::Version(std::vector<uint32_t> components)
: … { … }
bool Version::IsValid() const { … }
bool Version::IsValidWildcardString(std::string_view wildcard_string) { … }
int Version::CompareToWildcardString(std::string_view wildcard_string) const { … }
int Version::CompareTo(const Version& other) const { … }
std::string Version::GetString() const { … }
bool operator==(const Version& v1, const Version& v2) { … }
bool operator!=(const Version& v1, const Version& v2) { … }
bool operator<(const Version& v1, const Version& v2) { … }
bool operator<=(const Version& v1, const Version& v2) { … }
bool operator>(const Version& v1, const Version& v2) { … }
bool operator>=(const Version& v1, const Version& v2) { … }
std::ostream& operator<<(std::ostream& stream, const Version& v) { … }
}