id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc
10336,compilation error in iterator_range and unordered_map,gast128@…,Neil Groves,"I get a compilation error with vc10, iterator_range and a (const)
unordered_map (the beta candidate 2 was still ok I think):
{{{#!cpp
#include ""stdafx.h""
#include
#include
int _tmain(int /*argc*/, _TCHAR* /*argv*/[])
{
typedef boost::unordered_map Container;
typedef Container::const_iterator ContainerIterator;
typedef boost::iterator_range ContainerIteratorRange;
const Container cnt;
ContainerIteratorRange rng(cnt.cbegin(), cnt.cend());
return 0;
}
}}}
This gives C2248:
'boost::unordered::iterator_detail::c_iterator::iterator'
cannot access private typedef declared in class
etc.
Eric: Niebler:
Well, this is unfortunate. It's broken also on msvc-12 and clang trunk,
but strangely not on gcc. I thought it might be due to this change in
Boost.Range:
github.com/boostorg/range/commit/264017e2a9bdbfcc24517ce05f8ef96df0a8c45b
But reverting that doesn't have any effect. It works on Boost 1.55, so
this is definitely a regression.
Can you please file a bug? Neil, can you take a look?
A possible fix:
github.com/boostorg/range/pull/19
",Bugs,assigned,To Be Determined,range,Boost 1.56.0,Problem,,,