diff options
| author | Daniel Shaw <t-dansha@microsoft.com> | 2017-06-05 15:58:47 -0700 |
|---|---|---|
| committer | Daniel Shaw <t-dansha@microsoft.com> | 2017-06-06 14:02:59 -0700 |
| commit | 264cd050e6280e5b87ec055e0a9d8985a7ba30b3 (patch) | |
| tree | f508fa927970257011747643f893b182691dac1e /toolsrc/src/PackageSpec.cpp | |
| parent | 7b4d83c444b0e7fee241ed293614efca17c67201 (diff) | |
| download | vcpkg-264cd050e6280e5b87ec055e0a9d8985a7ba30b3.tar.gz vcpkg-264cd050e6280e5b87ec055e0a9d8985a7ba30b3.zip | |
ExpectedT factory class
Diffstat (limited to 'toolsrc/src/PackageSpec.cpp')
| -rw-r--r-- | toolsrc/src/PackageSpec.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/toolsrc/src/PackageSpec.cpp b/toolsrc/src/PackageSpec.cpp index 69883a030..ab005f255 100644 --- a/toolsrc/src/PackageSpec.cpp +++ b/toolsrc/src/PackageSpec.cpp @@ -7,7 +7,8 @@ namespace vcpkg { static bool is_valid_package_spec_char(char c) { return (c == '-') || isdigit(c) || (isalpha(c) && islower(c)); } - Expected<PackageSpec> PackageSpec::from_string(const std::string& spec_as_string, const Triplet& default_triplet) + ExpectedT<PackageSpec, PackageSpecParseResult> PackageSpec::from_string(const std::string& spec_as_string, + const Triplet& default_triplet) { auto pos = spec_as_string.find(':'); if (pos == std::string::npos) @@ -18,7 +19,7 @@ namespace vcpkg auto pos2 = spec_as_string.find(':', pos + 1); if (pos2 != std::string::npos) { - return std::error_code(PackageSpecParseResult::TOO_MANY_COLONS); + return PackageSpecParseResult::TOO_MANY_COLONS; } const std::string name = spec_as_string.substr(0, pos); @@ -26,11 +27,12 @@ namespace vcpkg return from_name_and_triplet(name, triplet); } - Expected<PackageSpec> PackageSpec::from_name_and_triplet(const std::string& name, const Triplet& triplet) + ExpectedT<PackageSpec, PackageSpecParseResult> PackageSpec::from_name_and_triplet(const std::string& name, + const Triplet& triplet) { if (Util::find_if_not(name, is_valid_package_spec_char) != name.end()) { - return std::error_code(PackageSpecParseResult::INVALID_CHARACTERS); + return PackageSpecParseResult::INVALID_CHARACTERS; } PackageSpec p; |
