aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/PostBuildLint_ConfigurationType.h
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-02-09 19:00:09 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2017-02-10 14:00:11 -0800
commit95650bdd424b9499f4676dae8f110b15b3fd024f (patch)
treee37452ea2f1e342e40bbd31480b210742f38088b /toolsrc/include/PostBuildLint_ConfigurationType.h
parent7a0404cb839ae49bf7e52ca54f905d182a12de5d (diff)
downloadvcpkg-95650bdd424b9499f4676dae8f110b15b3fd024f.tar.gz
vcpkg-95650bdd424b9499f4676dae8f110b15b3fd024f.zip
PostBuildLint enum revamp
Diffstat (limited to 'toolsrc/include/PostBuildLint_ConfigurationType.h')
-rw-r--r--toolsrc/include/PostBuildLint_ConfigurationType.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/toolsrc/include/PostBuildLint_ConfigurationType.h b/toolsrc/include/PostBuildLint_ConfigurationType.h
index 55dede921..7245d2932 100644
--- a/toolsrc/include/PostBuildLint_ConfigurationType.h
+++ b/toolsrc/include/PostBuildLint_ConfigurationType.h
@@ -2,13 +2,32 @@
#pragma once
#include <string>
-namespace vcpkg::PostBuildLint
+namespace vcpkg::PostBuildLint::ConfigurationType
{
- enum class ConfigurationType
+ enum class backing_enum_t
{
+ NULLVALUE = 0,
DEBUG = 1,
RELEASE = 2
};
- std::string to_string(const ConfigurationType& conf);
+ struct type
+ {
+ constexpr type() : backing_enum(backing_enum_t::NULLVALUE) {}
+ constexpr explicit type(backing_enum_t backing_enum) : backing_enum(backing_enum) { }
+ constexpr operator backing_enum_t() const { return backing_enum; }
+
+ const std::string& toString() const;
+
+ private:
+ backing_enum_t backing_enum;
+ };
+
+ static const std::string ENUM_NAME = "vcpkg::PostBuildLint::ConfigurationType";
+
+ static constexpr type NULLVALUE(backing_enum_t::NULLVALUE);
+ static constexpr type DEBUG(backing_enum_t::DEBUG);
+ static constexpr type RELEASE(backing_enum_t::RELEASE);
+
+ static constexpr std::array<type, 2> values = { DEBUG, RELEASE };
}