1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #ifndef BASE_VERSION_H_
- #define BASE_VERSION_H_
- #include <stdint.h>
- #include <iosfwd>
- #include <string>
- #include <vector>
- #include "base/base_export.h"
- #include "base/strings/string_piece.h"
- namespace base {
- class BASE_EXPORT Version {
- public:
-
-
- Version();
- Version(const Version& other);
-
-
-
- explicit Version(StringPiece version_str);
-
-
- explicit Version(std::vector<uint32_t> components);
- ~Version();
-
- bool IsValid() const;
-
-
-
-
- static bool IsValidWildcardString(StringPiece wildcard_string);
-
- int CompareTo(const Version& other) const;
-
-
-
-
- int CompareToWildcardString(StringPiece wildcard_string) const;
-
- std::string GetString() const;
- const std::vector<uint32_t>& components() const { return components_; }
- private:
- std::vector<uint32_t> components_;
- };
- BASE_EXPORT bool operator==(const Version& v1, const Version& v2);
- BASE_EXPORT bool operator!=(const Version& v1, const Version& v2);
- BASE_EXPORT bool operator<(const Version& v1, const Version& v2);
- BASE_EXPORT bool operator<=(const Version& v1, const Version& v2);
- BASE_EXPORT bool operator>(const Version& v1, const Version& v2);
- BASE_EXPORT bool operator>=(const Version& v1, const Version& v2);
- BASE_EXPORT std::ostream& operator<<(std::ostream& stream, const Version& v);
- }
- #endif
|