URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [template/] [array21.C] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
// 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); }
Go to most recent revision | Compare with Previous | Blame | View Log