summaryrefslogtreecommitdiff
path: root/boost/container/detail/flat_tree.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/container/detail/flat_tree.hpp')
-rw-r--r--boost/container/detail/flat_tree.hpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/boost/container/detail/flat_tree.hpp b/boost/container/detail/flat_tree.hpp
index e131cf1f55..476a63aca0 100644
--- a/boost/container/detail/flat_tree.hpp
+++ b/boost/container/detail/flat_tree.hpp
@@ -427,13 +427,15 @@ class flat_tree_value_compare
{ return *this; }
};
+
///////////////////////////////////////
//
// select_container_type
//
///////////////////////////////////////
template < class Value, class AllocatorOrContainer
- , bool = boost::container::dtl::is_container<AllocatorOrContainer>::value >
+ , bool = boost::container::dtl::is_container<AllocatorOrContainer>::value
+ >
struct select_container_type
{
typedef AllocatorOrContainer type;
@@ -442,7 +444,7 @@ struct select_container_type
template <class Value, class AllocatorOrContainer>
struct select_container_type<Value, AllocatorOrContainer, false>
{
- typedef boost::container::vector<Value, AllocatorOrContainer> type;
+ typedef boost::container::vector<Value, typename real_allocator<Value, AllocatorOrContainer>::type> type;
};
@@ -1213,15 +1215,15 @@ class flat_tree
template<class C2>
BOOST_CONTAINER_FORCEINLINE void merge_unique(flat_tree<Value, KeyOfValue, C2, AllocatorOrContainer>& source)
{
- this->insert( boost::make_move_iterator(source.begin())
- , boost::make_move_iterator(source.end()));
+ this->insert_unique( boost::make_move_iterator(source.begin())
+ , boost::make_move_iterator(source.end()));
}
template<class C2>
BOOST_CONTAINER_FORCEINLINE void merge_equal(flat_tree<Value, KeyOfValue, C2, AllocatorOrContainer>& source)
{
- this->insert( boost::make_move_iterator(source.begin())
- , boost::make_move_iterator(source.end()));
+ this->insert_equal( boost::make_move_iterator(source.begin())
+ , boost::make_move_iterator(source.end()));
}
BOOST_CONTAINER_FORCEINLINE void merge_unique(flat_tree& source)