diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-25 17:11:21 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-04-25 17:56:18 -0700 |
| commit | 003693c5ac9b6dd4484341cb8b09c22243cef954 (patch) | |
| tree | d6e01a592e6c3bfc50efbc8ad2fc56b5f1840443 /toolsrc/include | |
| parent | 09b9340515b98b81d751b5be54376893a22dcbf0 (diff) | |
| download | vcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.tar.gz vcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.zip | |
Rework LinkageType enum
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/PostBuildLint_BuildInfo.h | 4 | ||||
| -rw-r--r-- | toolsrc/include/PostBuildLint_BuildType.h | 16 | ||||
| -rw-r--r-- | toolsrc/include/PostBuildLint_LinkageType.h | 37 |
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 }; + } } |
