123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #include<type_traits>
- #include<string>
- template<typename T1>
- class stack
- {
- };
- template<>
- class stack<int>
- {
- };
- template <typename T>
- using void_t = void;
- template<typename T1, typename T2 = void>
- struct check :public std::false_type {};
- template<typename T1>
- struct check<T1, void_t<decltype(std::declval<T1>() / std::declval<T1>())>> :public std::true_type
- {
- };
- template<typename T>
- class stack
- {
- stack() = default;
- stack(T) {}
- };
- template<typename T>
- class stack
- {
- stack(const char*)->stack<std::string>;
- };
|