[cfe-commits] [libcxx] r132266 - /libcxx/trunk/include/scoped_allocator
Howard Hinnant
hhinnant at apple.com
Sat May 28 11:51:12 PDT 2011
Author: hhinnant
Date: Sat May 28 13:51:12 2011
New Revision: 132266
URL: http://llvm.org/viewvc/llvm-project?rev=132266&view=rev
Log:
noexcept for <scoped_allocator>.
Modified:
libcxx/trunk/include/scoped_allocator
Modified: libcxx/trunk/include/scoped_allocator
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/scoped_allocator?rev=132266&r1=132265&r2=132266&view=diff
==============================================================================
--- libcxx/trunk/include/scoped_allocator (original)
+++ libcxx/trunk/include/scoped_allocator Sat May 28 13:51:12 2011
@@ -49,24 +49,25 @@
scoped_allocator_adaptor();
template <class OuterA2>
scoped_allocator_adaptor(OuterA2&& outerAlloc,
- const InnerAllocs&... innerAllocs);
- scoped_allocator_adaptor(const scoped_allocator_adaptor& other);
+ const InnerAllocs&... innerAllocs) noexcept;
+ scoped_allocator_adaptor(const scoped_allocator_adaptor& other) noexcept;
+ scoped_allocator_adaptor(scoped_allocator_adaptor&& other) noexcept;
template <class OuterA2>
- scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& other);
+ scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& other) noexcept;
template <class OuterA2>
- scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>&& other);
+ scoped_allocator_adaptor(const scoped_allocator_adaptor<OuterA2, InnerAllocs...>&& other) noexcept;
~scoped_allocator_adaptor();
- inner_allocator_type& inner_allocator();
- const inner_allocator_type& inner_allocator() const;
+ inner_allocator_type& inner_allocator() noexcept;
+ const inner_allocator_type& inner_allocator() const noexcept;
- outer_allocator_type& outer_allocator();
- const outer_allocator_type& outer_allocator() const;
+ outer_allocator_type& outer_allocator() noexcept;
+ const outer_allocator_type& outer_allocator() const noexcept;
pointer allocate(size_type n);
pointer allocate(size_type n, const_void_pointer hint);
- void deallocate(pointer p, size_type n);
+ void deallocate(pointer p, size_type n) noexcept;
size_type max_size() const;
template <class T, class... Args> void construct(T* p, Args&& args);
@@ -83,18 +84,20 @@
void construct(pair<T1, T2>* p, pair<U, V>&& x);
template <class T> void destroy(T* p);
- scoped_allocator_adaptor select_on_container_copy_construction() const;
+ template <class T> void destroy(T* p) noexcept;
+
+ scoped_allocator_adaptor select_on_container_copy_construction() const noexcept;
};
template <class OuterA1, class OuterA2, class... InnerAllocs>
bool
operator==(const scoped_allocator_adaptor<OuterA1, InnerAllocs...>& a,
- const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b);
+ const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b) noexcept;
template <class OuterA1, class OuterA2, class... InnerAllocs>
bool
operator!=(const scoped_allocator_adaptor<OuterA1, InnerAllocs...>& a,
- const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b);
+ const scoped_allocator_adaptor<OuterA2, InnerAllocs...>& b) noexcept;
} // std
@@ -182,7 +185,7 @@
protected:
_LIBCPP_INLINE_VISIBILITY
- __scoped_allocator_storage() {}
+ __scoped_allocator_storage() _NOEXCEPT {}
template <class _OuterA2,
class = typename enable_if<
@@ -190,7 +193,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(_OuterA2&& __outerAlloc,
- const _InnerAllocs& ...__innerAllocs)
+ const _InnerAllocs& ...__innerAllocs) _NOEXCEPT
: outer_allocator_type(_STD::forward<_OuterA2>(__outerAlloc)),
__inner_(__innerAllocs...) {}
@@ -200,7 +203,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(
- const __scoped_allocator_storage<_OuterA2, _InnerAllocs...>& __other)
+ const __scoped_allocator_storage<_OuterA2, _InnerAllocs...>& __other) _NOEXCEPT
: outer_allocator_type(__other.outer_allocator()),
__inner_(__other.inner_allocator()) {}
@@ -210,7 +213,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(
- __scoped_allocator_storage<_OuterA2, _InnerAllocs...>&& __other)
+ __scoped_allocator_storage<_OuterA2, _InnerAllocs...>&& __other) _NOEXCEPT
: outer_allocator_type(_STD::move(__other.outer_allocator())),
__inner_(_STD::move(__other.inner_allocator())) {}
@@ -220,27 +223,27 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(_OuterA2&& __o,
- const inner_allocator_type& __i)
+ const inner_allocator_type& __i) _NOEXCEPT
: outer_allocator_type(_STD::forward<_OuterA2>(__o)),
__inner_(__i)
{
}
_LIBCPP_INLINE_VISIBILITY
- inner_allocator_type& inner_allocator() {return __inner_;}
+ inner_allocator_type& inner_allocator() _NOEXCEPT {return __inner_;}
_LIBCPP_INLINE_VISIBILITY
- const inner_allocator_type& inner_allocator() const {return __inner_;}
+ const inner_allocator_type& inner_allocator() const _NOEXCEPT {return __inner_;}
_LIBCPP_INLINE_VISIBILITY
- outer_allocator_type& outer_allocator()
+ outer_allocator_type& outer_allocator() _NOEXCEPT
{return static_cast<outer_allocator_type&>(*this);}
_LIBCPP_INLINE_VISIBILITY
- const outer_allocator_type& outer_allocator() const
+ const outer_allocator_type& outer_allocator() const _NOEXCEPT
{return static_cast<const outer_allocator_type&>(*this);}
scoped_allocator_adaptor<outer_allocator_type, _InnerAllocs...>
_LIBCPP_INLINE_VISIBILITY
- select_on_container_copy_construction() const
+ select_on_container_copy_construction() const _NOEXCEPT
{
return scoped_allocator_adaptor<outer_allocator_type, _InnerAllocs...>
(
@@ -263,14 +266,14 @@
typedef scoped_allocator_adaptor<_OuterAlloc> inner_allocator_type;
_LIBCPP_INLINE_VISIBILITY
- __scoped_allocator_storage() {}
+ __scoped_allocator_storage() _NOEXCEPT {}
template <class _OuterA2,
class = typename enable_if<
is_constructible<outer_allocator_type, _OuterA2>::value
>::type>
_LIBCPP_INLINE_VISIBILITY
- __scoped_allocator_storage(_OuterA2&& __outerAlloc)
+ __scoped_allocator_storage(_OuterA2&& __outerAlloc) _NOEXCEPT
: outer_allocator_type(_STD::forward<_OuterA2>(__outerAlloc)) {}
template <class _OuterA2,
@@ -279,7 +282,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(
- const __scoped_allocator_storage<_OuterA2>& __other)
+ const __scoped_allocator_storage<_OuterA2>& __other) _NOEXCEPT
: outer_allocator_type(__other.outer_allocator()) {}
template <class _OuterA2,
@@ -288,33 +291,33 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
__scoped_allocator_storage(
- __scoped_allocator_storage<_OuterA2>&& __other)
+ __scoped_allocator_storage<_OuterA2>&& __other) _NOEXCEPT
: outer_allocator_type(_STD::move(__other.outer_allocator())) {}
_LIBCPP_INLINE_VISIBILITY
- inner_allocator_type& inner_allocator()
+ inner_allocator_type& inner_allocator() _NOEXCEPT
{return static_cast<inner_allocator_type&>(*this);}
_LIBCPP_INLINE_VISIBILITY
- const inner_allocator_type& inner_allocator() const
+ const inner_allocator_type& inner_allocator() const _NOEXCEPT
{return static_cast<const inner_allocator_type&>(*this);}
_LIBCPP_INLINE_VISIBILITY
- outer_allocator_type& outer_allocator()
+ outer_allocator_type& outer_allocator() _NOEXCEPT
{return static_cast<outer_allocator_type&>(*this);}
_LIBCPP_INLINE_VISIBILITY
- const outer_allocator_type& outer_allocator() const
+ const outer_allocator_type& outer_allocator() const _NOEXCEPT
{return static_cast<const outer_allocator_type&>(*this);}
_LIBCPP_INLINE_VISIBILITY
scoped_allocator_adaptor<outer_allocator_type>
- select_on_container_copy_construction() const
+ select_on_container_copy_construction() const _NOEXCEPT
{return scoped_allocator_adaptor<outer_allocator_type>(
allocator_traits<outer_allocator_type>::
select_on_container_copy_construction(outer_allocator())
);}
__scoped_allocator_storage(const outer_allocator_type& __o,
- const inner_allocator_type& __i);
+ const inner_allocator_type& __i) _NOEXCEPT;
template <class...> friend class __scoped_allocator_storage;
};
@@ -343,7 +346,7 @@
{
typedef _Alloc type;
_LIBCPP_INLINE_VISIBILITY
- type& operator()(type& __a) const {return __a;}
+ type& operator()(type& __a) const _NOEXCEPT {return __a;}
};
template <class _Alloc>
@@ -355,7 +358,7 @@
>::type _OuterAlloc;
typedef typename __outermost<_OuterAlloc>::type type;
_LIBCPP_INLINE_VISIBILITY
- type& operator()(_Alloc& __a) const
+ type& operator()(_Alloc& __a) const _NOEXCEPT
{return __outermost<_OuterAlloc>()(__a.outer_allocator());}
};
@@ -403,14 +406,14 @@
};
_LIBCPP_INLINE_VISIBILITY
- scoped_allocator_adaptor() {}
+ scoped_allocator_adaptor() _NOEXCEPT {}
template <class _OuterA2,
class = typename enable_if<
is_constructible<outer_allocator_type, _OuterA2>::value
>::type>
_LIBCPP_INLINE_VISIBILITY
scoped_allocator_adaptor(_OuterA2&& __outerAlloc,
- const _InnerAllocs& ...__innerAllocs)
+ const _InnerAllocs& ...__innerAllocs) _NOEXCEPT
: base(_STD::forward<_OuterA2>(__outerAlloc), __innerAllocs...) {}
// scoped_allocator_adaptor(const scoped_allocator_adaptor& __other) = default;
template <class _OuterA2,
@@ -419,7 +422,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
scoped_allocator_adaptor(
- const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __other)
+ const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __other) _NOEXCEPT
: base(__other) {}
template <class _OuterA2,
class = typename enable_if<
@@ -427,23 +430,23 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
scoped_allocator_adaptor(
- scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>&& __other)
+ scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>&& __other) _NOEXCEPT
: base(_STD::move(__other)) {}
// ~scoped_allocator_adaptor() = default;
_LIBCPP_INLINE_VISIBILITY
- inner_allocator_type& inner_allocator()
+ inner_allocator_type& inner_allocator() _NOEXCEPT
{return base::inner_allocator();}
_LIBCPP_INLINE_VISIBILITY
- const inner_allocator_type& inner_allocator() const
+ const inner_allocator_type& inner_allocator() const _NOEXCEPT
{return base::inner_allocator();}
_LIBCPP_INLINE_VISIBILITY
- outer_allocator_type& outer_allocator()
+ outer_allocator_type& outer_allocator() _NOEXCEPT
{return base::outer_allocator();}
_LIBCPP_INLINE_VISIBILITY
- const outer_allocator_type& outer_allocator() const
+ const outer_allocator_type& outer_allocator() const _NOEXCEPT
{return base::outer_allocator();}
_LIBCPP_INLINE_VISIBILITY
@@ -456,7 +459,7 @@
allocate(outer_allocator(), __n, __hint);}
_LIBCPP_INLINE_VISIBILITY
- void deallocate(pointer __p, size_type __n)
+ void deallocate(pointer __p, size_type __n) _NOEXCEPT
{allocator_traits<outer_allocator_type>::
deallocate(outer_allocator(), __p, __n);}
@@ -479,7 +482,7 @@
}
_LIBCPP_INLINE_VISIBILITY
- scoped_allocator_adaptor select_on_container_copy_construction() const
+ scoped_allocator_adaptor select_on_container_copy_construction() const _NOEXCEPT
{return base::select_on_container_copy_construction();}
private:
@@ -490,7 +493,7 @@
>::type>
_LIBCPP_INLINE_VISIBILITY
scoped_allocator_adaptor(_OuterA2&& __o,
- const inner_allocator_type& __i)
+ const inner_allocator_type& __i) _NOEXCEPT
: base(_STD::forward<_OuterA2>(__o), __i) {}
template <class _Tp, class... _Args>
@@ -542,7 +545,7 @@
inline _LIBCPP_INLINE_VISIBILITY
bool
operator==(const scoped_allocator_adaptor<_OuterA1>& __a,
- const scoped_allocator_adaptor<_OuterA2>& __b)
+ const scoped_allocator_adaptor<_OuterA2>& __b) _NOEXCEPT
{
return __a.outer_allocator() == __b.outer_allocator();
}
@@ -551,7 +554,7 @@
inline _LIBCPP_INLINE_VISIBILITY
bool
operator==(const scoped_allocator_adaptor<_OuterA1, _InnerA0, _InnerAllocs...>& __a,
- const scoped_allocator_adaptor<_OuterA2, _InnerA0, _InnerAllocs...>& __b)
+ const scoped_allocator_adaptor<_OuterA2, _InnerA0, _InnerAllocs...>& __b) _NOEXCEPT
{
return __a.outer_allocator() == __b.outer_allocator() &&
__a.inner_allocator() == __b.inner_allocator();
@@ -561,7 +564,7 @@
inline _LIBCPP_INLINE_VISIBILITY
bool
operator!=(const scoped_allocator_adaptor<_OuterA1, _InnerAllocs...>& __a,
- const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __b)
+ const scoped_allocator_adaptor<_OuterA2, _InnerAllocs...>& __b) _NOEXCEPT
{
return !(__a == __b);
}
More information about the cfe-commits
mailing list