[allocator.adaptor.types]

# 20 Memory management library [[mem]](./#mem)

## 20.6 Class template scoped_allocator_adaptor [[allocator.adaptor]](allocator.adaptor#types)

### 20.6.2 Member types [allocator.adaptor.types]

[ð](#lib:inner_allocator_type,scoped_allocator_adaptor)

`using inner_allocator_type = see below;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L8722)

*Type*: scoped_allocator_adaptor<OuterAlloc> if sizeof...(InnerAllocs) is
zero; otherwise,  

scoped_allocator_adaptor<InnerAllocs...>[.](#1.sentence-2)

[ð](#lib:propagate_on_container_copy_assignment,scoped_allocator_adaptor)

`using propagate_on_container_copy_assignment = see below;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L8733)

*Type*: true_type ifallocator_traits<A>​::​propagate_on_container_copy_assignment​::​value istrue for any A in the set of OuterAlloc andInnerAllocs...; otherwise, false_type[.](#2.sentence-1)

[ð](#lib:propagate_on_container_move_assignment,scoped_allocator_adaptor)

`using propagate_on_container_move_assignment = see below;
`

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L8746)

*Type*: true_type ifallocator_traits<A>​::​propagate_on_container_move_assignment​::​value istrue for any A in the set of OuterAlloc andInnerAllocs...; otherwise, false_type[.](#3.sentence-1)

[ð](#lib:propagate_on_container_swap,scoped_allocator_adaptor)

`using propagate_on_container_swap = see below;
`

[4](#4)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L8759)

*Type*: true_type ifallocator_traits<A>​::​propagate_on_container_swap​::​value istrue for any A in the set of OuterAlloc andInnerAllocs...; otherwise, false_type[.](#4.sentence-1)

[ð](#lib:is_always_equal,scoped_allocator_adaptor)

`using is_always_equal = see below;
`

[5](#5)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/memory.tex#L8772)

*Type*: true_type ifallocator_traits<A>​::​is_always_equal​::​value istrue for every A in the set of OuterAlloc andInnerAllocs...; otherwise, false_type[.](#5.sentence-1)
