aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-04-25 16:38:12 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-04-25 17:56:18 -0700
commit0a510471573400f708b553224671e66a3cd27e82 (patch)
tree648b17ddc153f5a35c845e93f7bfec406bcea5e7 /toolsrc/include
parent95c222d4603d3f4298096889cdb21ef977355c6f (diff)
downloadvcpkg-0a510471573400f708b553224671e66a3cd27e82.tar.gz
vcpkg-0a510471573400f708b553224671e66a3cd27e82.zip
Rework BuildInfo enum
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/PostBuildLint_BuildInfo.h2
-rw-r--r--toolsrc/include/PostBuildLint_BuildPolicies.h48
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 };
+ }}