вторник, 8 ноября 2016 г.

[prog.flame] Шаблоны, множественное наследование, policy classes... В общем, маленькая иллюстрация того, за что я люблю C++ :)

Просто малюсенький фрагментик из одного из проектика:

namespace probe_common {

template<
   // Какой диспетчер нужен агентам-пробникам.
   typename PROBE_DISP_POLICY,
   // Как быть с child_deadliner-ом.
   typename CHILD_DEADLINER_POLICY >
class a_studies_manager_t
   :  public so_5::agent_t
   ,  protected PROBE_DISP_POLICY
   ,  protected CHILD_DEADLINER_POLICY
{...};

}

namespace probe_X {

using base_studies_manager_t = probe_common::a_studies_manager_t<
      probe_common::one_thread_probes_disp_policy_t< probe_disp_name_t >,
      probe_common::no_child_deadliner_policy_t >;

class a_studies_manager_t : public base_studies_manager_t
{...};

}

PS. Вообще, читая профильные форумы, на которых люди разной степени адекватности и вменяемости хейтят C++ и агитируют кто за Go, кто за Rust, кто за, прастихоспади, plain old C, у меня складывается ощущение, что владение C++ -- это конкурентное преимущество :) Поэтому не нужно никого агитировать за использование C++, меньше народу -- больше кислороду ;)

Комментариев нет: