
"John Maddock" <john@johnmaddock.co.uk> writes:
Can arguments to compressed_pair be const-qualified? The documentation only lists this restriction:
Note that compressed_pair can not be instantiated if either of the template arguments is a union type, unless there is compiler support for boost::is_union, or if boost::is_union is specialised for the union type.
I believe I am getting an error from Intel C++ when an argument to compressed_pair is const. The question is whether we need a workaround in compressed_pair.hpp or a change to the html documentation.
OK, the following:
boost::compressed_pair<const int, long> cp2;
Gives me a compiler error with VC7.1 (it should as well, but it's not really a compressed_pair issue).
Where are this:
boost::compressed_pair<const int, long> cp2(0); compiles as expected.
As does
boost::compressed_pair<const myclass, long> cp2;
as long as myclass has a user-defined default constructor.
That's all exactly what I would expect, what am I missing?
I am getting the error from Intel C++ at the point of declaration of the compressed_pair specialization. -- Dave Abrahams Boost Consulting www.boost-consulting.com