You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our project we have custom container (let's call it CustomContainer) that doesn't match boost::container::dtl::container_rebind specializations in the include/boost/container/detail/container_rebind.hpp file.
Such a container is used in flat_map the following way:
And with GCC 10.2 and Boost 1.79 we are getting compilation errors:
{prefix}/usr/include/boost/container/detail/container_or_allocator_rebind.hpp:30:8: error: invalid use of incomplete type 'struct boost::container::dtl::container_rebind<CustomContainer<std::pair<KeyType, MappedType>, {size}>>, boost::container::dtl::pair<KeyType, MappedType> >'
30 | struct container_or_allocator_rebind_impl
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I have reproduced the same on Compiler Explorer: https://godbolt.org/z/eGTsYer6r. It seems to apply still in Boost 1.82 as well.
My guess would be we need to provide container_rebind specialization for our container. It does seem to work.
However, container_rebind is not documented as an extension point. Furthermore, it is introduced by a header in detail/ subdirectory, making it even more uneasy to tweak with it in the user code.
The text was updated successfully, but these errors were encountered:
In our project we have custom container (let's call it
CustomContainer
) that doesn't matchboost::container::dtl::container_rebind
specializations in theinclude/boost/container/detail/container_rebind.hpp
file.Such a container is used in
flat_map
the following way:And with GCC 10.2 and Boost 1.79 we are getting compilation errors:
I have reproduced the same on Compiler Explorer: https://godbolt.org/z/eGTsYer6r. It seems to apply still in Boost 1.82 as well.
My guess would be we need to provide
container_rebind
specialization for our container. It does seem to work.However,
container_rebind
is not documented as an extension point. Furthermore, it is introduced by a header indetail/
subdirectory, making it even more uneasy to tweak with it in the user code.The text was updated successfully, but these errors were encountered: