Added constant static_vector<>/small_vector::static_capacity to use the configured capacity in constant expressions.

This commit is contained in:
Ion Gaztañaga
2016-08-03 00:18:11 +02:00
parent 649aba461e
commit 4122e722a4
5 changed files with 16 additions and 3 deletions

View File

@@ -502,9 +502,12 @@ class small_vector : public small_vector_base<T, Allocator>
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
//! @brief The capacity/max size of the container
static const size_type static_capacity = N;
public:
BOOST_CONTAINER_FORCEINLINE small_vector()
BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible<Allocator>::value)
BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible<Allocator>::value)
: base_type(initial_capacity_t(), internal_capacity())
{}

View File

@@ -139,6 +139,9 @@ public:
//! @brief The const reverse iterator.
typedef typename base_t::const_reverse_iterator const_reverse_iterator;
//! @brief The capacity/max size of the container
static const size_type static_capacity = Capacity;
//! @brief Constructs an empty static_vector.
//!
//! @par Throws