$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Maksym Motornyy (mmotorny_at_[hidden])
Date: 2005-06-01 04:55:57
Hi all,
It is know that typedef in C++ is actually an alias, i.e. it doesn't
create new distinguishable type. Sometimes this causes problems.
Consider following example:
typedef int handle;
template < typename Value >
void write( const Value &value );
void write< int >( const int &value )
{
// do processing for int
}
void write< handle >( const handle &value )
{
// we wanted to have separate processing for handle,
// but we get only compilation error :(
}
In my projects I resolve such situations as the following:
class handle_tag
{
};
typedef tagged< int, handle_tag > handle;
Then everything works as expected. "tagged" class is actually a wrapper
that mimics fundamental type behaviour. Also I have specialization for
pointers.
Is anyone interested in such solution of given problem? Is it worth to
be part of Boost?
Sincerely,
Maksym Motornyy.