Hi, I have developed a simple cast function which I found very useful. Here it is:
template< typename T > inline T offset_cast( void* p, unsigned int offset=0 ) { return reinterpret_cast< T >( static_cast<unsigned char*>( p )+offset ); } template< typename T > inline T offset_cast( const void* p, unsigned int offset=0 ) { return reinterpret_cast< T >( static_cast<const unsigned char*>( p )+offset ); } Its purposes is to simplify a mapping of C-like structure onto binary data. Here is the example: Assume thath you have a network packet in raw format, and you want to read IP-header information. You could do following: ip_header* ip=offset_cast<ip_header>( packet, ip_header_offset ); instead of ugly pointer arithmetic. Is there any interest for something like this in Boost? Pavol _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost