Я тут давеча высказался о том, что чрезмерное использование шаблонов в C++ слишком сильно перешагнуло границу добра и зла... Но сам, тем не менее, сварганил вот такую вот конструкцию:
template< typename ENGINE > class timer_manager_impl_template_t : protected timer_manager_threading_dependent_part_t< ENGINE::threading > { public : template< typename... ARGS > timer_manager_impl_template_t( ARGS && ... args ) : m_engine( std::forward< ARGS >(args)... ) { } ... }; template< threading THREADING, typename ERROR_LOGGER, typename ACTOR_EXCEPTION_HANDLER > class timer_list_manager_template_t : public details::timer_manager_impl_template_t< details::timer_list_engine_t< THREADING, ERROR_LOGGER, ACTOR_EXCEPTION_HANDLER > > { ... }; |
Что, почему-то, заставило вспомнить народное выражение "Чья бы корова мычала" :)))
PS. А вообще, конечно, C++11 рулит неимоверно. Жаль только, что какие-то фичи из С++11 в MS VisualStudio 2013 не поддерживаются. Например, наследование конструкторов. Но радует, что VisualStudio 2015 уже на подходе.
Комментариев нет:
Отправить комментарий