aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-04-25 17:11:21 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-04-25 17:56:18 -0700
commit003693c5ac9b6dd4484341cb8b09c22243cef954 (patch)
treed6e01a592e6c3bfc50efbc8ad2fc56b5f1840443 /toolsrc/include
parent09b9340515b98b81d751b5be54376893a22dcbf0 (diff)
downloadvcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.tar.gz
vcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.zip
Rework LinkageType enum
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/PostBuildLint_BuildInfo.h4
-rw-r--r--toolsrc/include/PostBuildLint_BuildType.h16
-rw-r--r--toolsrc/include/PostBuildLint_LinkageType.h37
3 files changed, 30 insertions, 27 deletions
diff --git a/toolsrc/include/PostBuildLint_BuildInfo.h b/toolsrc/include/PostBuildLint_BuildInfo.h
index 4dd1a3228..336fffcb9 100644
--- a/toolsrc/include/PostBuildLint_BuildInfo.h
+++ b/toolsrc/include/PostBuildLint_BuildInfo.h
@@ -12,8 +12,8 @@ namespace vcpkg::PostBuildLint
{
static BuildInfo create(std::unordered_map<std::string, std::string> pgh);
- LinkageType::Type crt_linkage;
- LinkageType::Type library_linkage;
+ LinkageType crt_linkage;
+ LinkageType library_linkage;
std::map<BuildPolicies, OptBool> policies;
};
diff --git a/toolsrc/include/PostBuildLint_BuildType.h b/toolsrc/include/PostBuildLint_BuildType.h
index c152ddfc9..fd6b1421a 100644
--- a/toolsrc/include/PostBuildLint_BuildType.h
+++ b/toolsrc/include/PostBuildLint_BuildType.h
@@ -18,30 +18,30 @@ namespace vcpkg::PostBuildLint::BuildType
{
Type() = delete;
- constexpr explicit Type(const BackingEnum backing_enum, const ConfigurationType::Type config, const LinkageType::Type linkage) :
+ constexpr explicit Type(const BackingEnum backing_enum, const ConfigurationType::Type config, const LinkageType linkage) :
backing_enum(backing_enum), m_config(config), m_linkage(linkage) { }
constexpr operator BackingEnum() const { return backing_enum; }
const ConfigurationType::Type& config() const;
- const LinkageType::Type& linkage() const;
+ const LinkageType& linkage() const;
const std::regex& crt_regex() const;
const std::string& to_string() const;
private:
BackingEnum backing_enum;
ConfigurationType::Type m_config;
- LinkageType::Type m_linkage;
+ LinkageType m_linkage;
};
static const std::string ENUM_NAME = "vcpkg::PostBuildLint::BuildType";
- static constexpr Type DEBUG_STATIC = Type(BackingEnum::DEBUG_STATIC, ConfigurationType::DEBUG, LinkageType::STATIC);
- static constexpr Type DEBUG_DYNAMIC = Type(BackingEnum::DEBUG_DYNAMIC, ConfigurationType::DEBUG, LinkageType::DYNAMIC);
- static constexpr Type RELEASE_STATIC = Type(BackingEnum::RELEASE_STATIC, ConfigurationType::RELEASE, LinkageType::STATIC);
- static constexpr Type RELEASE_DYNAMIC = Type(BackingEnum::RELEASE_DYNAMIC, ConfigurationType::RELEASE, LinkageType::DYNAMIC);
+ static constexpr Type DEBUG_STATIC = Type(BackingEnum::DEBUG_STATIC, ConfigurationType::DEBUG, LinkageTypeC::STATIC);
+ static constexpr Type DEBUG_DYNAMIC = Type(BackingEnum::DEBUG_DYNAMIC, ConfigurationType::DEBUG, LinkageTypeC::DYNAMIC);
+ static constexpr Type RELEASE_STATIC = Type(BackingEnum::RELEASE_STATIC, ConfigurationType::RELEASE, LinkageTypeC::STATIC);
+ static constexpr Type RELEASE_DYNAMIC = Type(BackingEnum::RELEASE_DYNAMIC, ConfigurationType::RELEASE, LinkageTypeC::DYNAMIC);
static constexpr std::array<Type, 4> values = { DEBUG_STATIC, DEBUG_DYNAMIC, RELEASE_STATIC, RELEASE_DYNAMIC };
- Type value_of(const ConfigurationType::Type& config, const LinkageType::Type& linkage);
+ Type value_of(const ConfigurationType::Type& config, const LinkageType& linkage);
}
diff --git a/toolsrc/include/PostBuildLint_LinkageType.h b/toolsrc/include/PostBuildLint_LinkageType.h
index e7e26885c..9855b485e 100644
--- a/toolsrc/include/PostBuildLint_LinkageType.h
+++ b/toolsrc/include/PostBuildLint_LinkageType.h
@@ -1,19 +1,21 @@
#pragma once
#include <string>
-namespace vcpkg::PostBuildLint::LinkageType
+namespace vcpkg::PostBuildLint
{
- enum class BackingEnum
+ struct LinkageType final
{
- NULLVALUE = 0,
- DYNAMIC,
- STATIC
- };
+ enum class BackingEnum
+ {
+ NULLVALUE = 0,
+ DYNAMIC,
+ STATIC
+ };
- struct Type
- {
- constexpr Type() : backing_enum(BackingEnum::NULLVALUE) {}
- constexpr explicit Type(BackingEnum backing_enum) : backing_enum(backing_enum) { }
+ static LinkageType value_of(const std::string& as_string);
+
+ constexpr LinkageType() : backing_enum(BackingEnum::NULLVALUE) {}
+ constexpr explicit LinkageType(BackingEnum backing_enum) : backing_enum(backing_enum) { }
constexpr operator BackingEnum() const { return backing_enum; }
const std::string& to_string() const;
@@ -22,13 +24,14 @@ namespace vcpkg::PostBuildLint::LinkageType
BackingEnum backing_enum;
};
- static const std::string ENUM_NAME = "vcpkg::PostBuildLint::LinkageType";
-
- static constexpr Type NULLVALUE(BackingEnum::NULLVALUE);
- static constexpr Type DYNAMIC(BackingEnum::DYNAMIC);
- static constexpr Type STATIC(BackingEnum::STATIC);
+ namespace LinkageTypeC
+ {
+ static constexpr const char* ENUM_NAME = "vcpkg::PostBuildLint::LinkageType";
- static constexpr std::array<Type, 2> values = { DYNAMIC, STATIC };
+ static constexpr LinkageType NULLVALUE(LinkageType::BackingEnum::NULLVALUE);
+ static constexpr LinkageType DYNAMIC(LinkageType::BackingEnum::DYNAMIC);
+ static constexpr LinkageType STATIC(LinkageType::BackingEnum::STATIC);
- Type value_of(const std::string& as_string);
+ static constexpr std::array<LinkageType, 2> VALUES = { DYNAMIC, STATIC };
+ }
}