- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
// my __enable_if
template < typename T >
struct __Conflict {};
template <bool B, class T = void>
struct __enable_if { typedef __Conflict<T> type; };
template <class T>
struct __enable_if<true, T> { typedef T type; };
// Example of usage:
template <typename T>
class Lazy
{
public:
void _ctor(bool b);
void _ctor(typename __enable_if<!std::is_same<T, bool>::value, T>::type);
};
template <typename T>
void Lazy<T>::_ctor(bool b)
{
std::cout << "bool " << b << std::endl;
};
template <typename T>
void Lazy<T>::_ctor(typename __enable_if<!std::is_same<T, bool>::value, T>::type t)
{
std::cout << "T " << t << std::endl;
};
int main(int argc, char **argv)
{
Lazy<int> i;
i._ctor(10);
i._ctor(true);
Lazy<bool> b;
b._ctor(true);
return 0;
}
Наговнокодил свой собственный "enable_if" который круче стандартного и дает возможность писать класный говнокод
0BEH 29.10.2018 02:08 # 0
ASD_77 29.10.2018 02:14 # 0
0BEH 29.10.2018 04:08 # 0
guest8 29.10.2018 17:19 # −999
adrnin 29.10.2018 04:08 # 0
...именно поэтому переведи на "Forth", ладно, переведи на "PHP".
Elvenfighter 29.10.2018 13:35 # +1
Пускай теперь сделает тот же финт ушами с конструктором по умолчанию.
А вот завузут метаклассы и интролспекцию... заживем
HoBblu_nemyx 21.08.2019 22:50 # 0
bormand 21.08.2019 22:55 # 0
Elvenfighter 29.10.2018 12:14 # 0
bormand 29.10.2018 17:41 # 0
HoBblu_nemyx 21.08.2019 22:51 # 0
adrnin 29.10.2018 19:44 # +1
BUTTHURT 29.10.2018 19:57 # −102
adrnin 29.10.2018 19:58 # −1
Straiker 29.10.2018 20:40 # 0
guest8 22.08.2019 02:05 # −999
Straiker 29.10.2018 20:41 # 0
666_N33D135 05.11.2018 04:23 # +3
ASD_77 05.11.2018 15:17 # +1
KitKat 05.11.2018 15:19 # 0
guest8 05.11.2018 17:49 # −999
HoBblu_nemyx 21.08.2019 23:05 # 0
Rooster 29.01.2019 16:14 # +1
guest8 21.08.2019 22:57 # −999
HoBblu_nemyx 21.08.2019 22:52 # 0
guest8 21.08.2019 22:55 # −999
guest8 21.08.2019 23:43 # −999
guest8 22.08.2019 00:19 # −999
guest8 22.08.2019 01:05 # −999
HEMECTHblu_nemyx 22.08.2019 00:37 # 0
https://gist.github.com/Jonathan50/c84f352f5634f2d28c9c