diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-25 16:38:12 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-25 17:56:18 -0700 |
| commit | 0a510471573400f708b553224671e66a3cd27e82 (patch) | |
| tree | 648b17ddc153f5a35c845e93f7bfec406bcea5e7 /toolsrc/include | |
| parent | 95c222d4603d3f4298096889cdb21ef977355c6f (diff) | |
| download | vcpkg-0a510471573400f708b553224671e66a3cd27e82.tar.gz vcpkg-0a510471573400f708b553224671e66a3cd27e82.zip | |
Rework BuildInfo enum
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/PostBuildLint_BuildInfo.h | 2 | ||||
| -rw-r--r-- | toolsrc/include/PostBuildLint_BuildPolicies.h | 48 |
2 files changed, 26 insertions, 24 deletions
diff --git a/toolsrc/include/PostBuildLint_BuildInfo.h b/toolsrc/include/PostBuildLint_BuildInfo.h index 44776d918..8aca14c7f 100644 --- a/toolsrc/include/PostBuildLint_BuildInfo.h +++ b/toolsrc/include/PostBuildLint_BuildInfo.h @@ -15,7 +15,7 @@ namespace vcpkg::PostBuildLint LinkageType::Type crt_linkage; LinkageType::Type library_linkage; - std::map<BuildPolicies::Type, OptBoolT> policies; + std::map<BuildPolicies, OptBoolT> policies; }; BuildInfo read_build_info(const Files::Filesystem& fs, const fs::path& filepath); diff --git a/toolsrc/include/PostBuildLint_BuildPolicies.h b/toolsrc/include/PostBuildLint_BuildPolicies.h index f26ad9029..7b10781ee 100644 --- a/toolsrc/include/PostBuildLint_BuildPolicies.h +++ b/toolsrc/include/PostBuildLint_BuildPolicies.h @@ -2,21 +2,23 @@ #include <string> #include <array> -namespace vcpkg::PostBuildLint::BuildPolicies +namespace vcpkg::PostBuildLint { - enum class BackingEnum + struct BuildPolicies final { - NULLVALUE = 0, - EMPTY_PACKAGE, - DLLS_WITHOUT_LIBS, - ONLY_RELEASE_CRT, - EMPTY_INCLUDE_FOLDER - }; - - struct Type - { - constexpr Type() : backing_enum(BackingEnum::NULLVALUE) {} - constexpr explicit Type(BackingEnum backing_enum) : backing_enum(backing_enum) { } + enum class BackingEnum + { + NULLVALUE = 0, + EMPTY_PACKAGE, + DLLS_WITHOUT_LIBS, + ONLY_RELEASE_CRT, + EMPTY_INCLUDE_FOLDER + }; + + static BuildPolicies parse(const std::string& s); + + constexpr BuildPolicies() : backing_enum(BackingEnum::NULLVALUE) {} + constexpr explicit BuildPolicies(BackingEnum backing_enum) : backing_enum(backing_enum) { } constexpr operator BackingEnum() const { return backing_enum; } const std::string& to_string() const; @@ -28,13 +30,13 @@ namespace vcpkg::PostBuildLint::BuildPolicies static const std::string ENUM_NAME = "vcpkg::PostBuildLint::BuildPolicies"; - static constexpr Type NULLVALUE(BackingEnum::NULLVALUE); - static constexpr Type EMPTY_PACKAGE(BackingEnum::EMPTY_PACKAGE); - static constexpr Type DLLS_WITHOUT_LIBS(BackingEnum::DLLS_WITHOUT_LIBS); - static constexpr Type ONLY_RELEASE_CRT(BackingEnum::ONLY_RELEASE_CRT); - static constexpr Type EMPTY_INCLUDE_FOLDER(BackingEnum::EMPTY_INCLUDE_FOLDER); - - static constexpr std::array<Type, 4> values = { EMPTY_PACKAGE, DLLS_WITHOUT_LIBS, ONLY_RELEASE_CRT, EMPTY_INCLUDE_FOLDER }; - - Type parse(const std::string& s); -} + namespace BuildPoliciesC + { + constexpr BuildPolicies NULLVALUE(BuildPolicies::BackingEnum::NULLVALUE); + constexpr BuildPolicies EMPTY_PACKAGE(BuildPolicies::BackingEnum::EMPTY_PACKAGE); + constexpr BuildPolicies DLLS_WITHOUT_LIBS(BuildPolicies::BackingEnum::DLLS_WITHOUT_LIBS); + constexpr BuildPolicies ONLY_RELEASE_CRT(BuildPolicies::BackingEnum::ONLY_RELEASE_CRT); + constexpr BuildPolicies EMPTY_INCLUDE_FOLDER(BuildPolicies::BackingEnum::EMPTY_INCLUDE_FOLDER); + + constexpr std::array<BuildPolicies, 4> VALUES = { EMPTY_PACKAGE,DLLS_WITHOUT_LIBS, ONLY_RELEASE_CRT, EMPTY_INCLUDE_FOLDER }; + }} |
