|
Boost : |
From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2006-05-31 21:20:08
Hi Beman,
Beman Dawes <bdawes_at_[hidden]> wrote:
> That said, I guess there could be an argument to expose the
> templates for those who prefer them.
Here's an argument for exposing templates: it allows the
template parameter to propagate up into my own types. I'm
thinking something like:
template <typename Endianness>
struct my_message
{
integer<4, Endianness> foo;
integer<2, Endianness> bar;
...
};
This permits me to write one function template to handle
my_message structures in programs that need to deal with both
little- and big-endian at runtime (i'm thinking "receiver makes
right" protocols).
With this scheme there should probably also be a type for native
endianness so we could write:
my_message<endian::big> msg1;
my_message<endian::little> msg2;
my_message<endian::native> msg3;
etc. In my opinion a similar argument applies to exposing the
alignment as a template parameter.
Cheers,
Chris
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk