Re: map tag --> T
От: quodum  
Дата: 16.01.09 15:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А> Есть реализации?


Всего-то делов:

template<typename T, typename TagT>
T& TagValue()
{
    static T value;
    return value;
}

................
// используем:

struct tag1 {};
struct tag2 {};

int x = TagValue<int, tag1>();
TagValue<int, tag2> = 42;


Можно ещё обернуть это дело по вкусу, для приведения интерфейса к желаемому виду.
Минус -- T должен быть default constructible, но при необходимости можно и это обойти.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.