|
8643 | 8643 | template<class OuterAlloc, class... InnerAllocs> |
8644 | 8644 | class scoped_allocator_adaptor : public OuterAlloc { |
8645 | 8645 | private: |
8646 | | - using OuterTraits = allocator_traits<OuterAlloc>; // \expos |
8647 | | - scoped_allocator_adaptor<InnerAllocs...> inner; // \expos |
| 8646 | + using @\exposid{outer-traits}@ = allocator_traits<OuterAlloc>; // \expos |
| 8647 | + scoped_allocator_adaptor<InnerAllocs...> @\exposid{inner}@; // \expos |
8648 | 8648 |
|
8649 | 8649 | public: |
8650 | 8650 | using outer_allocator_type = OuterAlloc; |
8651 | 8651 | using inner_allocator_type = @\seebelow@; |
8652 | 8652 |
|
8653 | | - using value_type = typename OuterTraits::value_type; |
8654 | | - using size_type = typename OuterTraits::size_type; |
8655 | | - using difference_type = typename OuterTraits::difference_type; |
8656 | | - using pointer = typename OuterTraits::pointer; |
8657 | | - using const_pointer = typename OuterTraits::const_pointer; |
8658 | | - using void_pointer = typename OuterTraits::void_pointer; |
8659 | | - using const_void_pointer = typename OuterTraits::const_void_pointer; |
| 8653 | + using value_type = typename @\exposid{outer-traits}@::value_type; |
| 8654 | + using size_type = typename @\exposid{outer-traits}@::size_type; |
| 8655 | + using difference_type = typename @\exposid{outer-traits}@::difference_type; |
| 8656 | + using pointer = typename @\exposid{outer-traits}@::pointer; |
| 8657 | + using const_pointer = typename @\exposid{outer-traits}@::const_pointer; |
| 8658 | + using void_pointer = typename @\exposid{outer-traits}@::void_pointer; |
| 8659 | + using const_void_pointer = typename @\exposid{outer-traits}@::const_void_pointer; |
8660 | 8660 |
|
8661 | 8661 | using propagate_on_container_copy_assignment = @\seebelow@; |
8662 | 8662 | using propagate_on_container_move_assignment = @\seebelow@; |
|
8665 | 8665 |
|
8666 | 8666 | template<class Tp> struct rebind { |
8667 | 8667 | using other = scoped_allocator_adaptor< |
8668 | | - OuterTraits::template rebind_alloc<Tp>, InnerAllocs...>; |
| 8668 | + @\exposid{outer-traits}@::template rebind_alloc<Tp>, InnerAllocs...>; |
8669 | 8669 | }; |
8670 | 8670 |
|
8671 | 8671 | scoped_allocator_adaptor(); |
|
8788 | 8788 | \begin{itemdescr} |
8789 | 8789 | \pnum |
8790 | 8790 | \effects |
8791 | | -Value-initializes the \tcode{OuterAlloc} base class and the \tcode{inner} allocator |
| 8791 | +Value-initializes the \tcode{OuterAlloc} base class and the \exposid{inner} allocator |
8792 | 8792 | object. |
8793 | 8793 | \end{itemdescr} |
8794 | 8794 |
|
|
8806 | 8806 | \pnum |
8807 | 8807 | \effects |
8808 | 8808 | Initializes the \tcode{OuterAlloc} base class with |
8809 | | -\tcode{std::forward<OuterA2>(outerAlloc)} and \tcode{inner} with \tcode{innerAllocs...} |
| 8809 | +\tcode{std::forward<OuterA2>(outerAlloc)} and \exposid{inner} with \tcode{innerAllocs...} |
8810 | 8810 | (hence recursively initializing each allocator within the adaptor with the corresponding |
8811 | 8811 | allocator from the argument list). |
8812 | 8812 | \end{itemdescr} |
|
8899 | 8899 | \pnum |
8900 | 8900 | \returns |
8901 | 8901 | \tcode{*this} if \tcode{sizeof...(InnerAllocs)} is zero; otherwise, |
8902 | | -\tcode{inner}. |
| 8902 | +\exposid{inner}. |
8903 | 8903 | \end{itemdescr} |
8904 | 8904 |
|
8905 | 8905 | \indexlibrarymember{outer_allocator}{scoped_allocator_adaptor}% |
|
0 commit comments