-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
23 lines (15 loc) · 1.08 KB
/
main.cpp
File metadata and controls
23 lines (15 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Enum.h"
#include <iostream>
enum Fruit : int16_t { Apple=4, Pear, Banana=9, MinValue=-1, MaxValue=11, UnknownValue=0};
enum class Light : char { Red = 'R', Amber='A', Green='G'};
int main() {
auto name_string = enum_cast<std::string>(Fruit::Apple);
auto name_string2 = enum_cast<std::string>(Fruit::Banana);
std::cout << name_string << " " << name_string2 << std::endl;
std::cout << enum_cast<Fruit>("Apple") << " " << enum_cast<Fruit>("Banana") << " " << enum_cast<Fruit>("Orange") << std::endl;
std::cout << enum_cast<std::string>(enum_cast<Fruit>("Apple")) << " " << enum_cast<std::string>(enum_cast<Fruit>("Banana")) << " " << enum_cast<std::string>(enum_cast<Fruit>("Orange")) << std::endl;
std::cout << "Red [" << static_cast<char>(enum_cast<Light>("Red")) << "]" << std::endl;
std::cout << "Amber [" << static_cast<char>(enum_cast<Light>("Amber")) << "]" << std::endl;
std::cout << "Green [" << static_cast<char>(enum_cast<Light>("Green")) << "]" << std::endl;
std::cout << "Red [" << enum_cast<std::string>(Light::Red) << "]" << std::endl;
}