Lines Matching +full:alloc +full:- +full:ranges

1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
13 // clang-format off
24 template <class T, class Alloc> struct uses_allocator;
53 template <class Alloc>
56 typedef Alloc allocator_type;
60 typedef Alloc::pointer | value_type* pointer;
61 typedef Alloc::const_pointer
64 typedef Alloc::void_pointer
67 typedef Alloc::const_void_pointer
70 typedef Alloc::difference_type
73 typedef Alloc::size_type
76 typedef Alloc::propagate_on_container_copy_assignment
78 typedef Alloc::propagate_on_container_move_assignment
80 typedef Alloc::propagate_on_container_swap
82 typedef Alloc::is_always_equal
85 template <class T> using rebind_alloc = Alloc::rebind<T>::other | Alloc<T, Args...>;
92 allocate_at_least(Alloc& a, size_type n); // Since C++23
195 namespace ranges {
200 template<input_iterator InputIterator, sentinel-for<InputIterator> Sentinel1, nothrow-forward-iterator OutputIterator, nothrow-sentinel-for<OutputIterator> Sentinel2>
205 template<input_range InputRange, nothrow-forward-range OutputRange>
216 namespace ranges {
221 template<input_iterator InputIterator, nothrow-forward-iterator OutputIterator, nothrow-sentinel-for<OutputIterator> Sentinel>
231 namespace ranges {
233 template <nothrow-forward-iterator ForwardIterator, nothrow-sentinel-for<ForwardIterator> Sentinel, class T>
237 template <nothrow-forward-range ForwardRange, class T>
247 namespace ranges {
249 template <nothrow-forward-iterator ForwardIterator, class T>
258 namespace ranges {
266 namespace ranges {
274 namespace ranges {
275 template<nothrow-input-iterator InputIterator, nothrow-sentinel-for<InputIterator> Sentinel>
278 template<nothrow-input-range InputRange>
286 namespace ranges {
287 template<nothrow-input-iterator InputIterator>
295 namespace ranges {
300 template <input_iterator InputIterator, sentinel_for<InputIterator> Sentinel1, nothrow-forward-iterator OutputIterator, nothrow-sentinel-for<O> Sentinel2>
305 template<input_range InputRange, nothrow-forward-range OutputRange>
315 namespace ranges {
320 template<input_iterator InputIterator, nothrow-forward-iterator OutputIterator, nothrow-sentinel-for<OutputIterator> Sentinel>
330 namespace ranges {
332 template <nothrow-forward-iterator ForwardIterator, nothrow-sentinel-for<ForwardIterator> Sentinel>
336 template <nothrow-forward-range ForwardRange>
345 namespace ranges {
347 template <nothrow-forward-iterator ForwardIterator>
356 namespace ranges {
358 template <nothrow-forward-iterator ForwardIterator, nothrow-sentinel-for<ForwardIterator> Sentinel>
362 template <nothrow-forward-range ForwardRange>
371 namespace ranges {
373 template <nothrow-forward-iterator ForwardIterator>
396 X* operator->() const throw();
456 constexpr pointer operator->() const noexcept; // constexpr since C++23
472 typedef implementation-defined pointer;
630 T* operator->() const noexcept;
639 shared_ptr(weak_ptr<T>) -> shared_ptr<T>;
641 shared_ptr(unique_ptr<T, D>) -> shared_ptr<T>;
777 weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
869 template <class T, class Alloc>
870 inline constexpr bool uses_allocator_v = uses_allocator<T, Alloc>::value;
872 // [allocator.uses.construction], uses-allocator construction
873 template<class T, class Alloc, class... Args>
874 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
876 template<class T, class Alloc, class Tuple1, class Tuple2>
877 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
880 template<class T, class Alloc>
881 constexpr auto uses_allocator_construction_args(const Alloc& alloc) noexcept; // since C++20
882 template<class T, class Alloc, class U, class V>
883 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
885 template<class T, class Alloc, class U, class V>
886 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++23
888 template<class T, class Alloc, class U, class V>
889 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
891 template<class T, class Alloc, class U, class V>
892 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
894 template<class T, class Alloc, class U, class V>
895 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++23
897 template<class T, class Alloc, pair-like P>
898 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
900 template<class T, class Alloc, class U>
901 constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20
903 template<class T, class Alloc, class... Args>
904 constexpr T make_obj_using_allocator(const Alloc& alloc, Args&&... args); // since C++20
905 template<class T, class Alloc, class... Args>
907 const Alloc& alloc, Args&&... args);
935 // clang-format on
954 // standard-mandated includes