aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/PostBuildLint_LinkageType.h
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/PostBuildLint_LinkageType.h
parent09b9340515b98b81d751b5be54376893a22dcbf0 (diff)
downloadvcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.tar.gz
vcpkg-003693c5ac9b6dd4484341cb8b09c22243cef954.zip
Rework LinkageType enum
Diffstat (limited to 'toolsrc/include/PostBuildLint_LinkageType.h')
-rw-r--r--toolsrc/include/PostBuildLint_LinkageType.h37
1 files changed, 20 insertions, 17 deletions
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 };
+ }
}