Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/template/array21.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// PR c++/42447 template<int> void* get(int); template<typename> struct unique_ptr; template<typename _Tp> struct unique_ptr<_Tp[]> { typedef int __tuple_type; void* get() const { return ::get<0>(_M_t); } __tuple_type _M_t; }; template <typename T> class dynamic_dispatch; template <typename TC> struct dynamic_dispatch<void (TC::*)(int&)> { struct entry { }; unique_ptr<entry[]> m_Start; template <typename UC> void attach_handler(void (UC::*m)(int&)) { entry* p = 0; do { } while(--p != m_Start.get()); } }; template <typename TC> class request_dispatcher : private dynamic_dispatch<void (TC::*)(int&)> { request_dispatcher(); }; struct file_reader { void execute_command(int&); }; template <> request_dispatcher<file_reader>::request_dispatcher() { this->attach_handler(&file_reader::execute_command); }