Последние две недели прошли в бегах по универу, посему до того чтобы написать что-либо осмысленное руки ну совсем не доходили. Разве что так - общие мысли, да дополнил слегка пост о полезных ресурсах по С++.
Поковыряв boost::any, проникся подходом к реализации - действительно интереснейший способ, который подробно описан в статье "Valued Conversions" by Kevlin Henney. Везде, где только можно, этот класс использовать не получится, так как кастовать каждый раз - слишком накладно (хотя я не замерял, но думаю, что накладно по времени выполнения будет). Подобный же подход можно использовать и для реализации any_function.
Кроме того, надыбал интересную статейку про реализацию Properties in C++. В отличие от этой "Properties in C++", опубликованной в блоге Raider's Programming Blog, здесь используется подход, когда mutator & accessor являются параметрами шаблона, что на мой неискушенный взгляд удобнее, так как нет никакой необходимости менять их в рантайме. Единственное, что неудобно, так это то, что напрямую не поддерживаются такие операции как например ++ .
В общем классы any_function и property мне бы пожалуй пригодились, так, что попробую, наверное, их реализовать. Пока что все.
Поковыряв boost::any, проникся подходом к реализации - действительно интереснейший способ, который подробно описан в статье "Valued Conversions" by Kevlin Henney. Везде, где только можно, этот класс использовать не получится, так как кастовать каждый раз - слишком накладно (хотя я не замерял, но думаю, что накладно по времени выполнения будет). Подобный же подход можно использовать и для реализации any_function.
Кроме того, надыбал интересную статейку про реализацию Properties in C++. В отличие от этой "Properties in C++", опубликованной в блоге Raider's Programming Blog, здесь используется подход, когда mutator & accessor являются параметрами шаблона, что на мой неискушенный взгляд удобнее, так как нет никакой необходимости менять их в рантайме. Единственное, что неудобно, так это то, что напрямую не поддерживаются такие операции как например ++ .
В общем классы any_function и property мне бы пожалуй пригодились, так, что попробую, наверное, их реализовать. Пока что все.
"Valued Conversions" by Kevlin Henney - интересная статья, как раз вчера рассматривал внутренности boost::any. спасибо за ссылку
ReplyDeleteну ссылка на эту статью есть во введении в документации к boost::any ;-)
ReplyDeleteда, точно, Introduction я как раз пропустил :)
ReplyDelete