stl_map.h (map()): Make default.

2016-10-26  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_map.h (map()): Make default.
	* include/bits/stl_multimap.h (multimap()): Likewise.
	* include/bits/stl_multiset.h (multiset()): Likewise.
	* include/bits/stl_set.h (set()): Likewise.
	* include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
	(_Rb_tree()): Make default.

From-SVN: r241601
This commit is contained in:
François Dumont 2016-10-26 20:52:21 +00:00
parent 133634de98
commit d72c3f0a36
6 changed files with 39 additions and 23 deletions

View file

@ -1,3 +1,12 @@
2016-10-26 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_map.h (map()): Make default.
* include/bits/stl_multimap.h (multimap()): Likewise.
* include/bits/stl_multiset.h (multiset()): Likewise.
* include/bits/stl_set.h (set()): Likewise.
* include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
(_Rb_tree()): Make default.
2016-10-26 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libstdc++/78110

View file

@ -167,11 +167,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief Default constructor creates no elements.
*/
map()
_GLIBCXX_NOEXCEPT_IF(
is_nothrow_default_constructible<allocator_type>::value
&& is_nothrow_default_constructible<key_compare>::value)
: _M_t() { }
#if __cplusplus < 201103L
map() : _M_t() { }
#else
map() = default;
#endif
/**
* @brief Creates a %map with no elements.

View file

@ -164,11 +164,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief Default constructor creates no elements.
*/
multimap()
_GLIBCXX_NOEXCEPT_IF(
is_nothrow_default_constructible<allocator_type>::value
&& is_nothrow_default_constructible<key_compare>::value)
: _M_t() { }
#if __cplusplus < 201103L
multimap() : _M_t() { }
#else
multimap() = default;
#endif
/**
* @brief Creates a %multimap with no elements.

View file

@ -144,11 +144,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief Default constructor creates no elements.
*/
multiset()
_GLIBCXX_NOEXCEPT_IF(
is_nothrow_default_constructible<allocator_type>::value
&& is_nothrow_default_constructible<key_compare>::value)
: _M_t() { }
#if __cplusplus < 201103L
multiset() : _M_t() { }
#else
multiset() = default;
#endif
/**
* @brief Creates a %multiset with no elements.

View file

@ -147,11 +147,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
/**
* @brief Default constructor creates no elements.
*/
set()
_GLIBCXX_NOEXCEPT_IF(
is_nothrow_default_constructible<allocator_type>::value
&& is_nothrow_default_constructible<key_compare>::value)
: _M_t() { }
#if __cplusplus < 201103L
set() : _M_t() { }
#else
set() = default;
#endif
/**
* @brief Creates a %set with no elements.

View file

@ -602,10 +602,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
struct _Rb_tree_impl : public _Node_allocator
{
_Key_compare _M_key_compare;
_Rb_tree_node_base _M_header;
size_type _M_node_count; // Keeps track of size of tree.
_Rb_tree_node_base _M_header;
size_type _M_node_count; // Keeps track of size of tree.
_Rb_tree_impl()
_GLIBCXX_NOEXCEPT_IF(
is_nothrow_default_constructible<_Node_allocator>::value
&& is_nothrow_default_constructible<_Key_compare>::value)
: _Node_allocator(), _M_key_compare(), _M_header(),
_M_node_count(0)
{ _M_initialize(); }
@ -639,7 +642,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
this->_M_header._M_parent = 0;
this->_M_header._M_left = &this->_M_header;
this->_M_header._M_right = &this->_M_header;
}
}
};
_Rb_tree_impl<_Compare> _M_impl;
@ -831,7 +834,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
public:
// allocation/deallocation
#if __cplusplus < 201103L
_Rb_tree() { }
#else
_Rb_tree() = default;
#endif
_Rb_tree(const _Compare& __comp,
const allocator_type& __a = allocator_type())