// Profiling deque implementation -*- C++ -*-
-// Copyright (C) 2009-2013 Free Software Foundation, Inc.
+// Copyright (C) 2009-2014 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
#if __cplusplus >= 201103L
deque&
- operator=(deque&& __x)
+ operator=(deque&& __x) noexcept
{
// NB: DR 1204.
// NB: DR 675.
// element access:
reference
- operator[](size_type __n)
+ operator[](size_type __n) _GLIBCXX_NOEXCEPT
{
return _M_base()[__n];
}
const_reference
- operator[](size_type __n) const
+ operator[](size_type __n) const _GLIBCXX_NOEXCEPT
{
return _M_base()[__n];
}
using _Base::at;
reference
- front()
+ front() _GLIBCXX_NOEXCEPT
{
return _Base::front();
}
const_reference
- front() const
+ front() const _GLIBCXX_NOEXCEPT
{
return _Base::front();
}
reference
- back()
+ back() _GLIBCXX_NOEXCEPT
{
return _Base::back();
}
const_reference
- back() const
+ back() const _GLIBCXX_NOEXCEPT
{
return _Base::back();
}
insert(const_iterator __position, _Tp&& __x)
{ return emplace(__position, std::move(__x)); }
- void
- insert(iterator __p, initializer_list<value_type> __l)
- {
- _Base::insert(__p, __l);
- }
+ iterator
+ insert(const_iterator __p, initializer_list<value_type> __l)
+ { return _Base::insert(__p, __l); }
#endif
+#if __cplusplus >= 201103L
+ iterator
+ insert(const_iterator __position, size_type __n, const _Tp& __x)
+ { return _Base::insert(__position, __n, __x); }
+#else
void
insert(iterator __position, size_type __n, const _Tp& __x)
- {
- _Base::insert(__position, __n, __x);
- }
+ { _Base::insert(__position, __n, __x); }
+#endif
#if __cplusplus >= 201103L
template<typename _InputIterator,
typename = std::_RequireInputIter<_InputIterator>>
+ iterator
+ insert(const_iterator __position,
+ _InputIterator __first, _InputIterator __last)
+ { return _Base::insert(__position, __first, __last); }
#else
template<typename _InputIterator>
-#endif
void
insert(iterator __position,
_InputIterator __first, _InputIterator __last)
- {
- _Base::insert(__position, __first, __last);
- }
+ { _Base::insert(__position, __first, __last); }
+#endif
void
- pop_front()
+ pop_front() _GLIBCXX_NOEXCEPT
{
_Base::pop_front();
}
void
- pop_back()
+ pop_back() _GLIBCXX_NOEXCEPT
{
_Base::pop_back();
}
}
void
- swap(deque& __x)
+ swap(deque& __x) _GLIBCXX_NOEXCEPT
{
_Base::swap(__x);
}