Как получить тип относительно индекса времени выполнения? - PullRequest
2 голосов
/ 13 мая 2011

Допустим, у меня есть boost::mpl::list< A, B, C ...>.

Как мне получить доступ к одному из этих типов , учитывая значение индекса во время выполнения ? Это вообще возможно?

1 Ответ

2 голосов
/ 13 мая 2011

http://www.boost.org/doc/libs/release/libs/mpl/doc/refmanual/for-each.html

вам в основном приходится перебирать весь список и вводить какие-то условные выражения: например:

struct F {
    void operator(T &t) {
        if (i_ == index) ...
        ++i;
    }
    int index = ...;
    int i_ = 0;
};
for_each< L >( F(index) );
...