Add compile-time check to make sure allocator_type::value_type and container's value_type are the same type.

This commit is contained in:
Ion Gaztañaga
2024-09-10 23:50:24 +02:00
parent 5bdca12ac7
commit 49440c3525
9 changed files with 43 additions and 2 deletions
+5
View File
@@ -628,6 +628,11 @@ class basic_string
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
private:
//`allocator_type::value_type` must match container's `value type`. If this
//assertion fails, please review your allocator definition.
BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<value_type, typename allocator_traits<allocator_type>::value_type>::value));
typedef constant_iterator<CharT> cvalue_iterator;
typedef typename base_t::alloc_version alloc_version;
typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;