#include <iostream>
using namespace std;
namespace Config {
enum class SubscribersIpVersion {
Dhcpv6,
DualStack,
DualStackDhcpv6,
DualStackSlaac,
Ipv4,
Ipv6,
Slaac,
};
class Foo {
public:
Foo()
{ ipVersion = SubscribersIpVersion::DualStack; }
SubscribersIpVersion getIpVersion()
{ return ipVersion; }
private:
SubscribersIpVersion ipVersion;
};
};
int main()
{
bool isIpv6 = false;
Config::Foo * pSubGroup = new Config::Foo;
if ( !isIpv6
&& ( pSubGroup->getIpVersion() == Config::SubscribersIpVersion::Ipv6
|| pSubGroup->getIpVersion() == Config::SubscribersIpVersion::Slaac
|| pSubGroup->getIpVersion() == Config::SubscribersIpVersion::Dhcpv6
|| pSubGroup->getIpVersion() == Config::SubscribersIpVersion::DualStack
|| pSubGroup->getIpVersion() == Config::SubscribersIpVersion::DualStackSlaac
|| pSubGroup->getIpVersion() == Config::SubscribersIpVersion::DualStackDhcpv6 ) )
{
cout << "It works!" << endl;
} else {
cout << "It does not work" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbmFtZXNwYWNlIENvbmZpZyAgewogICAgZW51bSBjbGFzcyBTdWJzY3JpYmVyc0lwVmVyc2lvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgRGhjcHY2LCAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgRHVhbFN0YWNrLCAgICAgICAgICAgICAgICAgCiAgICAgICAgRHVhbFN0YWNrRGhjcHY2LCAgICAgICAgICAgCiAgICAgICAgRHVhbFN0YWNrU2xhYWMsICAgICAgICAgICAgCiAgICAgICAgSXB2NCwgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgSXB2NiwgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgU2xhYWMsICAgICAgICAgICAgICAgICAgICAgCiAgICB9OwogICAgCiAgICBjbGFzcyBGb28gewoJcHVibGljOgoJCUZvbygpCgkJCXsgaXBWZXJzaW9uID0gU3Vic2NyaWJlcnNJcFZlcnNpb246OkR1YWxTdGFjazsgfQoJCVN1YnNjcmliZXJzSXBWZXJzaW9uIGdldElwVmVyc2lvbigpCgkJCXsgcmV0dXJuIGlwVmVyc2lvbjsgfQoJcHJpdmF0ZToKCQlTdWJzY3JpYmVyc0lwVmVyc2lvbiBpcFZlcnNpb247Cgl9Owp9OwoKaW50IG1haW4oKQp7Cglib29sIGlzSXB2NiA9IGZhbHNlOwoJQ29uZmlnOjpGb28gKiBwU3ViR3JvdXAgPSBuZXcgQ29uZmlnOjpGb287CgkKCWlmICggIWlzSXB2NgoJICAmJiAoIHBTdWJHcm91cC0+Z2V0SXBWZXJzaW9uKCkgPT0gQ29uZmlnOjpTdWJzY3JpYmVyc0lwVmVyc2lvbjo6SXB2NgoJICAgIHx8IHBTdWJHcm91cC0+Z2V0SXBWZXJzaW9uKCkgPT0gQ29uZmlnOjpTdWJzY3JpYmVyc0lwVmVyc2lvbjo6U2xhYWMKCSAgICB8fCBwU3ViR3JvdXAtPmdldElwVmVyc2lvbigpID09IENvbmZpZzo6U3Vic2NyaWJlcnNJcFZlcnNpb246OkRoY3B2NgoJICAgIHx8IHBTdWJHcm91cC0+Z2V0SXBWZXJzaW9uKCkgPT0gQ29uZmlnOjpTdWJzY3JpYmVyc0lwVmVyc2lvbjo6RHVhbFN0YWNrCgkgICAgfHwgcFN1Ykdyb3VwLT5nZXRJcFZlcnNpb24oKSA9PSBDb25maWc6OlN1YnNjcmliZXJzSXBWZXJzaW9uOjpEdWFsU3RhY2tTbGFhYwoJICAgIHx8IHBTdWJHcm91cC0+Z2V0SXBWZXJzaW9uKCkgPT0gQ29uZmlnOjpTdWJzY3JpYmVyc0lwVmVyc2lvbjo6RHVhbFN0YWNrRGhjcHY2ICkgKQoJewoJCWNvdXQgPDwgIkl0IHdvcmtzISIgPDwgZW5kbDsKCX0gZWxzZSB7CgkJY291dCA8PCAiSXQgZG9lcyBub3Qgd29yayIgPDwgZW5kbDsKCX0KCQoJcmV0dXJuIDA7Cn0K