Quote Originally Posted by Paul McKenzie View Post
The policy in this context doesn't need a template argument. That is the error that Comeau C++ reports.
For starters, thanks Paul. Two questions:
a) Can you show me a context where it does matter?
b) On an slightly unrelated note. Consider the case where the layout defined in a requirements document is as follows:

[ 0..3 ] (Hd 1 = 0x0)
[ 4..7 ] (Hd 2 = 0x0)
[8..11] (Hd 3 =0x0)
[12..15 ] (Hd 4 =0x2).

Where the HD representation is the field names and MSB is bit 0. When I read this data from _raw_ memory I obtain 0x0002. Trouble I'm on a little endian machine so as part of my policy class the raw value gets converted to 0x0200. In doing so HD 2 is now a 2 which does not align with the requirement. That tells me the requirements document claim of MSB being bit 0 is FALSE. To me if the implementation that's transmitting the data is sending the data with MSB being bit 0 (big endian) and I'm on a little endian machine. That translation will result in HD 4 on an LE not being set to a 2 but to a zero and HD2 will equate to a 2. Am I off on this?