Я знаю, что я не могу извлечь из int, и это даже не нужно, это было просто одно (не) решение, которое пришло мне в голову для проблемы ниже.
У меня есть пара (foo,bar), каждая из которых представлена внутри int, но я хочу, чтобы typeof(foo) был несравнимым с typeof(bar). Это, главным образом, не позволяет мне передать (foo,bar) функции, ожидающей (bar, foo). Если я правильно ее понимаю, typedef не сделает этого, поскольку это только псевдоним. Каким будет самый простой способ сделать это. Если бы я создал два разных класса для foo и bar, было бы утомительно явно предоставить все операторы, поддерживаемые int. Я хочу этого избежать.