user5030930
user5030930

Reputation: 3

Enum Parse C++ Or Analog

In C# use code:

enum COMPUTER_NAME_FORMAT
{
        ComputerNameNetBIOS,
        ComputerNameDnsHostname,
        ComputerNameDnsDomain,
        ComputerNameDnsFullyQualified,
        ComputerNamePhysicalNetBIOS,
        ComputerNamePhysicalDnsHostname,
        ComputerNamePhysicalDnsDomain,
        ComputerNamePhysicalDnsFullyQualified
}

string format = "ComputerNameDnsFullyQualified";
(COMPUTER_NAME_FORMAT)Enum.Parse(typeof(COMPUTER_NAME_FORMAT), format)

How use this in C++ ?

Upvotes: 0

Views: 191

Answers (1)

Mats Petersson
Mats Petersson

Reputation: 129314

There is no such function in C or C++. But you can make a std::map<std::string, COMPUTER_NAME_FORMAT> m that does that.

Fill the map by doing m["ComputerNameNetBIOS"] = ComputerNameNetBIOS; etc. Then use auto f = m.find(format); if (f != m.end()) { ... value is in f.second ... }

Upvotes: 1

Related Questions