#include <type_traits>
#include <iostream>
template <bool Mode>
class Foo
{
public:
template <bool M = Mode, typename std::enable_if<M>::type* = nullptr>
void bar()
{
std::cout << "true" << std::endl;
}
template <bool M = Mode, typename std::enable_if<!M>::type* = nullptr>
void bar()
{
std::cout << "false" << std::endl;
}
};
int main()
{
Foo<false> f;
f.bar();
}
I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp0ZW1wbGF0ZSA8Ym9vbCBNb2RlPgpjbGFzcyBGb28KeyAgIAogICAgcHVibGljOgoKICAgICAgICB0ZW1wbGF0ZSA8Ym9vbCBNID0gTW9kZSwgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8TT46OnR5cGUqID0gbnVsbHB0cj4KICAgICAgICB2b2lkIGJhcigpCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgInRydWUiIDw8IHN0ZDo6ZW5kbDsKICAgICAgICB9CgogICAgICAgIHRlbXBsYXRlIDxib29sIE0gPSBNb2RlLCB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhTT46OnR5cGUqID0gbnVsbHB0cj4KICAgICAgICB2b2lkIGJhcigpCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgImZhbHNlIiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQp9OwoKaW50IG1haW4oKQp7CiAgICBGb288ZmFsc2U+IGY7CiAgICAKICAgIGYuYmFyKCk7Cn0=