diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-09 19:00:09 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-10 14:00:11 -0800 |
| commit | 95650bdd424b9499f4676dae8f110b15b3fd024f (patch) | |
| tree | e37452ea2f1e342e40bbd31480b210742f38088b /toolsrc/include/PostBuildLint_ConfigurationType.h | |
| parent | 7a0404cb839ae49bf7e52ca54f905d182a12de5d (diff) | |
| download | vcpkg-95650bdd424b9499f4676dae8f110b15b3fd024f.tar.gz vcpkg-95650bdd424b9499f4676dae8f110b15b3fd024f.zip | |
PostBuildLint enum revamp
Diffstat (limited to 'toolsrc/include/PostBuildLint_ConfigurationType.h')
| -rw-r--r-- | toolsrc/include/PostBuildLint_ConfigurationType.h | 25 |
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 }; } |
