Re[5]: Как организовать неприводимые друг к другу целочисленные типы?
От: Erop Россия  
Дата: 05.08.14 00:04
Оценка:
Здравствуйте, _hum_, Вы писали:

E>>оно
Автор: Erop
Дата: 29.04.08
?


__>Нет. Там все же про другое речь.


Можно же добавить ещё один параметр:
template<int TMinVal, int TMaxVal, typename Tag = void>
struct IntRange {//... дальше всё так же


Тогда
struct tag1 : IntRange<INT_MIN, INT_MAX, tag1>{ };
struct tag2 : IntRange<INT_MIN, INT_MAX, tag2>{ };

auto x = tag1::To( 10 );
auto y = tah2::To( 20 );
// x и y -- разные целые...
}


__>По идее, должно быть что-то наподобие


//...

__>Но, блин, надо тогда переопределять все операции (


Я, собственно, показал тебе как переопределять автоматом + это будет честный встроенный интегральный тип, а не класс...
+ ещё можно любой диапазон значений назначить


Тут так движок форума устроен, что лучше отвечать а каждое сообщение отдельно.
Во-первых, дерево
Во-вторых, тот, кому ответишь, может получить уведомление и ответить тебе дальше.
Я случайно заметил, что ты прочитал мой совет, например
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.