Появившаяся в C++11 штука под названием uniform initialization syntax позволяет писать код, который очень напоминает Ruby-новые eDSL-и.
Вот пример на Ruby-овом eDSL-е (найден за 5 минут на просторах Интернета):
project { artifact_id 'my-project' group_id 'com.example' version '1.0.0' dependencies { dependency { group_id 'org.apache.maven' artifact_id 'maven-model' version '3.0.0' } } } |
Вот фрагмент C++11 кода:
m_events.emplace( subscr_map::value_type { key { mbox_id, msg_type, &target_state }, value { mbox, event_handler_data { method, thread_safety } } } ); |
Комментариев нет:
Отправить комментарий