...чтобы выбросить пространство имен so_5::rt и отказаться от использования суффикса _t в именах типов. Ну и, заодно, перейти на C++14, отказавшись от поддержки старья, вроде VC++12.0.
Правда, боюсь, тогда SO-5 перестанут использовать даже в тех редких проектах, где он еще используется :(
Тем не менее, буду признателен читателям, которые в комментариях укажут, какой из двух приведенных ниже фрагментов кода выглядит более привлекательным и/или простым в восприятии:
№1, существующий вариант:
vector< pair< string, so_5::rt::bag_params_t > > build_bag_params() { namespace mbags = so_5::rt::msg_bag; vector< pair< string, so_5::rt::bag_params_t > > params; params.emplace_back( "unlimited", so_5::rt::bag_params_t{ mbags::capacity_t::make_unlimited() } ); params.emplace_back( "limited(dynamic,nowait)", so_5::rt::bag_params_t{ mbags::capacity_t::make_limited_without_waiting( 5, mbags::storage_memory_t::dynamic, mbags::overflow_reaction_t::drop_newest ) } ); |
№2, предполагаемый вариант (более близкий к тому, что принято в современном C++):
vector< pair< string, so_5::bag_params > > build_bag_params() { namespace mbags = so_5::msg_bag; vector< pair< string, so_5::bag_params > > params; params.emplace_back( "unlimited", so_5::bag_params{ mbags::capacity::make_unlimited() } ); params.emplace_back( "limited(dynamic,nowait)", so_5::bag_params{ mbags::capacity::make_limited_without_waiting( 5, mbags::storage_memory::dynamic, mbags::overflow_reaction::drop_newest ) } ); |
Комментариев нет:
Отправить комментарий