Chromium Code Reviews| Index: base/version.h |
| =================================================================== |
| --- base/version.h (revision 86383) |
| +++ base/version.h (working copy) |
| @@ -15,22 +15,29 @@ |
| // Version represents a dotted version number, like "1.2.3.4", supporting |
| // parsing and comparison. |
| -// Each component is limited to a uint16. |
| class BASE_API Version { |
| public: |
| - // Exposed only so that a Version can be stored in STL containers; |
| - // any call to the methods below on a default-constructed Version |
| - // will DCHECK. |
| + // The only two things you can legally do to a default constructed |
| + // Version object is assign to it and call InitFromString(). |
| Version(); |
| - ~Version(); |
| + // Initializes from a decimal dotted version number. See InitFromString() |
| + // for constraints on the inputs. |
|
Evan Martin
2011/06/06 23:35:13
What happens to the return value of InitFromString
|
| + explicit Version(const std::string& version_str); |
| - // The version string must be made up of 1 or more uint16's separated |
| - // by '.'. Returns NULL if string is not in this format. |
| - // Caller is responsible for freeing the Version object once done. |
| + // Initializes from a decimal dotted version number, like "0.1.1". |
| + // Each component is limited to a uint16. Returns false if any of the |
| + // components is not convertible to uint16. |
| + bool InitFromString(const std::string& version_str); |
| + |
| + // Same as InitFromString Returns NULL if the string is not in the |
| + // propper format. Caller is responsible for freeing the Version |
|
Evan Martin
2011/06/06 23:35:13
Typo: maybe meant a period before capitalized "Ret
|
| + // object once done. |
| + // DO NOT USE FOR NEWER CODE. |
| static Version* GetVersionFromString(const std::string& version_str); |
| // Creates a copy of this version. Caller takes ownership. |
| + // DO NOT USE FOR NEWER CODE. |
| Version* Clone() const; |
| bool Equals(const Version& other) const; |
| @@ -38,20 +45,17 @@ |
| // Returns -1, 0, 1 for <, ==, >. |
| int CompareTo(const Version& other) const; |
| + // Returns true if at least the version has one valid |
| + // component. For example 12 and 12.2 are both valid versions. |
| + bool IsValid() const; |
| + |
| // Return the string representation of this version. |
| const std::string GetString() const; |
| const std::vector<uint16>& components() const { return components_; } |
| private: |
| - bool InitFromString(const std::string& version_str); |
| - |
| - bool is_valid_; |
| std::vector<uint16> components_; |
| - |
| - FRIEND_TEST_ALL_PREFIXES(VersionTest, DefaultConstructor); |
| - FRIEND_TEST_ALL_PREFIXES(VersionTest, GetVersionFromString); |
| - FRIEND_TEST_ALL_PREFIXES(VersionTest, Compare); |
| }; |
| #endif // BASE_VERSION_H_ |