make typedefs incompatible
<p>Situation:</p>

<pre><code>typedef int TypeA;
typedef int TypeB;
</code></pre>

<p>I need to make TypeA incompatible with TypeB (so any attempt to assign TypeA to TypeB would trigger compile error), while retaining all functionality provided by built-in type (operators). </p>

<p>One way to do it is to wrap each type into separate struct/class (and redefine all operators, etc).</p>

<p>Is there any other, more "elegant", way to do it?</p>

<p>Third party libraries are not allowed. C++0x/C++11x is not supported. (C++ 2003 is supported)</p>
