From Jason Turner

[allocator.adaptor]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpz_imlb87/{from.md → to.md} +37 -12
tmp/tmpz_imlb87/{from.md → to.md} RENAMED
@@ -48,17 +48,17 @@ namespace std {
48
 
49
  public:
50
  using outer_allocator_type = OuterAlloc;
51
  using inner_allocator_type = see below;
52
 
53
- using value_type = typename OuterTraits::value_type;
54
- using size_type = typename OuterTraits::size_type;
55
- using difference_type = typename OuterTraits::difference_type;
56
- using pointer = typename OuterTraits::pointer;
57
- using const_pointer = typename OuterTraits::const_pointer;
58
- using void_pointer = typename OuterTraits::void_pointer;
59
- using const_void_pointer = typename OuterTraits::const_void_pointer;
60
 
61
  using propagate_on_container_copy_assignment = see below;
62
  using propagate_on_container_move_assignment = see below;
63
  using propagate_on_container_swap = see below;
64
  using is_always_equal = see below;
@@ -91,12 +91,12 @@ namespace std {
91
  inner_allocator_type& inner_allocator() noexcept;
92
  const inner_allocator_type& inner_allocator() const noexcept;
93
  outer_allocator_type& outer_allocator() noexcept;
94
  const outer_allocator_type& outer_allocator() const noexcept;
95
 
96
- [[nodiscard]] pointer allocate(size_type n);
97
- [[nodiscard]] pointer allocate(size_type n, const_void_pointer hint);
98
  void deallocate(pointer p, size_type n);
99
  size_type max_size() const;
100
 
101
  template<class T, class... Args>
102
  void construct(T* p, Args&&... args);
@@ -246,18 +246,18 @@ const outer_allocator_type& outer_allocator() const noexcept;
246
  ```
247
 
248
  *Returns:* `static_cast<const OuterAlloc&>(*this)`.
249
 
250
  ``` cpp
251
- [[nodiscard]] pointer allocate(size_type n);
252
  ```
253
 
254
  *Returns:*
255
  `allocator_traits<OuterAlloc>::allocate(outer_allocator(), n)`.
256
 
257
  ``` cpp
258
- [[nodiscard]] pointer allocate(size_type n, const_void_pointer hint);
259
  ```
260
 
261
  *Returns:*
262
  `allocator_traits<OuterAlloc>::allocate(outer_allocator(), n, hint)`.
263
 
@@ -349,14 +349,15 @@ a.outer_allocator() == b.outer_allocator() && a.inner_allocator() == b.inner_all
349
  [allocator.uses]: #allocator.uses
350
  [allocator.uses.construction]: #allocator.uses.construction
351
  [allocator.uses.trait]: #allocator.uses.trait
352
  [basic.align]: basic.md#basic.align
353
  [basic.compound]: basic.md#basic.compound
 
354
  [basic.stc.dynamic.allocation]: basic.md#basic.stc.dynamic.allocation
355
- [basic.types.general]: basic.md#basic.types.general
356
  [bit.cast]: utilities.md#bit.cast
357
  [c.malloc]: #c.malloc
 
358
  [conv.qual]: expr.md#conv.qual
359
  [cpp17.defaultconstructible]: #cpp17.defaultconstructible
360
  [cpp17.destructible]: #cpp17.destructible
361
  [cpp17.moveassignable]: #cpp17.moveassignable
362
  [cpp17.moveconstructible]: #cpp17.moveconstructible
@@ -364,16 +365,28 @@ a.outer_allocator() == b.outer_allocator() && a.inner_allocator() == b.inner_all
364
  [default.allocator]: #default.allocator
365
  [default.allocator.general]: #default.allocator.general
366
  [defns.const.subexpr]: intro.md#defns.const.subexpr
367
  [expr.eq]: expr.md#expr.eq
368
  [function.objects]: utilities.md#function.objects
 
 
 
 
 
 
 
 
 
 
 
369
  [inout.ptr]: #inout.ptr
370
  [inout.ptr.t]: #inout.ptr.t
371
  [intro.multithread]: basic.md#intro.multithread
372
  [intro.object]: basic.md#intro.object
373
  [intro.races]: basic.md#intro.races
374
  [mem]: #mem
 
375
  [mem.general]: #mem.general
376
  [mem.poly.allocator.class]: #mem.poly.allocator.class
377
  [mem.poly.allocator.class.general]: #mem.poly.allocator.class.general
378
  [mem.poly.allocator.ctor]: #mem.poly.allocator.ctor
379
  [mem.poly.allocator.eq]: #mem.poly.allocator.eq
@@ -408,20 +421,30 @@ a.outer_allocator() == b.outer_allocator() && a.inner_allocator() == b.inner_all
408
  [pointer.traits]: #pointer.traits
409
  [pointer.traits.functions]: #pointer.traits.functions
410
  [pointer.traits.general]: #pointer.traits.general
411
  [pointer.traits.optmem]: #pointer.traits.optmem
412
  [pointer.traits.types]: #pointer.traits.types
 
 
 
 
 
 
 
 
413
  [ptr.align]: #ptr.align
414
  [scoped.adaptor.operators]: #scoped.adaptor.operators
415
  [smartptr]: #smartptr
416
  [smartptr.adapt]: #smartptr.adapt
417
  [specialized.addressof]: #specialized.addressof
418
  [specialized.algorithms]: algorithms.md#specialized.algorithms
419
  [stmt.dcl]: stmt.md#stmt.dcl
420
  [swappable.requirements]: library.md#swappable.requirements
421
  [temp.deduct]: temp.md#temp.deduct
 
422
  [term.incomplete.type]: basic.md#term.incomplete.type
 
423
  [tuple]: utilities.md#tuple
424
  [unique.ptr]: #unique.ptr
425
  [unique.ptr.create]: #unique.ptr.create
426
  [unique.ptr.dltr]: #unique.ptr.dltr
427
  [unique.ptr.dltr.dflt]: #unique.ptr.dltr.dflt
@@ -446,10 +469,12 @@ a.outer_allocator() == b.outer_allocator() && a.inner_allocator() == b.inner_all
446
  [unord.hash]: utilities.md#unord.hash
447
  [util.sharedptr]: #util.sharedptr
448
  [util.smartptr.enab]: #util.smartptr.enab
449
  [util.smartptr.getdeleter]: #util.smartptr.getdeleter
450
  [util.smartptr.hash]: #util.smartptr.hash
 
 
451
  [util.smartptr.ownerless]: #util.smartptr.ownerless
452
  [util.smartptr.shared]: #util.smartptr.shared
453
  [util.smartptr.shared.assign]: #util.smartptr.shared.assign
454
  [util.smartptr.shared.cast]: #util.smartptr.shared.cast
455
  [util.smartptr.shared.cmp]: #util.smartptr.shared.cmp
 
48
 
49
  public:
50
  using outer_allocator_type = OuterAlloc;
51
  using inner_allocator_type = see below;
52
 
53
+ using value_type = OuterTraits::value_type;
54
+ using size_type = OuterTraits::size_type;
55
+ using difference_type = OuterTraits::difference_type;
56
+ using pointer = OuterTraits::pointer;
57
+ using const_pointer = OuterTraits::const_pointer;
58
+ using void_pointer = OuterTraits::void_pointer;
59
+ using const_void_pointer = OuterTraits::const_void_pointer;
60
 
61
  using propagate_on_container_copy_assignment = see below;
62
  using propagate_on_container_move_assignment = see below;
63
  using propagate_on_container_swap = see below;
64
  using is_always_equal = see below;
 
91
  inner_allocator_type& inner_allocator() noexcept;
92
  const inner_allocator_type& inner_allocator() const noexcept;
93
  outer_allocator_type& outer_allocator() noexcept;
94
  const outer_allocator_type& outer_allocator() const noexcept;
95
 
96
+ pointer allocate(size_type n);
97
+ pointer allocate(size_type n, const_void_pointer hint);
98
  void deallocate(pointer p, size_type n);
99
  size_type max_size() const;
100
 
101
  template<class T, class... Args>
102
  void construct(T* p, Args&&... args);
 
246
  ```
247
 
248
  *Returns:* `static_cast<const OuterAlloc&>(*this)`.
249
 
250
  ``` cpp
251
+ pointer allocate(size_type n);
252
  ```
253
 
254
  *Returns:*
255
  `allocator_traits<OuterAlloc>::allocate(outer_allocator(), n)`.
256
 
257
  ``` cpp
258
+ pointer allocate(size_type n, const_void_pointer hint);
259
  ```
260
 
261
  *Returns:*
262
  `allocator_traits<OuterAlloc>::allocate(outer_allocator(), n, hint)`.
263
 
 
349
  [allocator.uses]: #allocator.uses
350
  [allocator.uses.construction]: #allocator.uses.construction
351
  [allocator.uses.trait]: #allocator.uses.trait
352
  [basic.align]: basic.md#basic.align
353
  [basic.compound]: basic.md#basic.compound
354
+ [basic.life]: basic.md#basic.life
355
  [basic.stc.dynamic.allocation]: basic.md#basic.stc.dynamic.allocation
 
356
  [bit.cast]: utilities.md#bit.cast
357
  [c.malloc]: #c.malloc
358
+ [container.reqmts]: containers.md#container.reqmts
359
  [conv.qual]: expr.md#conv.qual
360
  [cpp17.defaultconstructible]: #cpp17.defaultconstructible
361
  [cpp17.destructible]: #cpp17.destructible
362
  [cpp17.moveassignable]: #cpp17.moveassignable
363
  [cpp17.moveconstructible]: #cpp17.moveconstructible
 
365
  [default.allocator]: #default.allocator
366
  [default.allocator.general]: #default.allocator.general
367
  [defns.const.subexpr]: intro.md#defns.const.subexpr
368
  [expr.eq]: expr.md#expr.eq
369
  [function.objects]: utilities.md#function.objects
370
+ [indirect]: #indirect
371
+ [indirect.assign]: #indirect.assign
372
+ [indirect.comp.with.t]: #indirect.comp.with.t
373
+ [indirect.ctor]: #indirect.ctor
374
+ [indirect.dtor]: #indirect.dtor
375
+ [indirect.general]: #indirect.general
376
+ [indirect.hash]: #indirect.hash
377
+ [indirect.obs]: #indirect.obs
378
+ [indirect.relops]: #indirect.relops
379
+ [indirect.swap]: #indirect.swap
380
+ [indirect.syn]: #indirect.syn
381
  [inout.ptr]: #inout.ptr
382
  [inout.ptr.t]: #inout.ptr.t
383
  [intro.multithread]: basic.md#intro.multithread
384
  [intro.object]: basic.md#intro.object
385
  [intro.races]: basic.md#intro.races
386
  [mem]: #mem
387
+ [mem.composite.types]: #mem.composite.types
388
  [mem.general]: #mem.general
389
  [mem.poly.allocator.class]: #mem.poly.allocator.class
390
  [mem.poly.allocator.class.general]: #mem.poly.allocator.class.general
391
  [mem.poly.allocator.ctor]: #mem.poly.allocator.ctor
392
  [mem.poly.allocator.eq]: #mem.poly.allocator.eq
 
421
  [pointer.traits]: #pointer.traits
422
  [pointer.traits.functions]: #pointer.traits.functions
423
  [pointer.traits.general]: #pointer.traits.general
424
  [pointer.traits.optmem]: #pointer.traits.optmem
425
  [pointer.traits.types]: #pointer.traits.types
426
+ [polymorphic]: #polymorphic
427
+ [polymorphic.assign]: #polymorphic.assign
428
+ [polymorphic.ctor]: #polymorphic.ctor
429
+ [polymorphic.dtor]: #polymorphic.dtor
430
+ [polymorphic.general]: #polymorphic.general
431
+ [polymorphic.obs]: #polymorphic.obs
432
+ [polymorphic.swap]: #polymorphic.swap
433
+ [polymorphic.syn]: #polymorphic.syn
434
  [ptr.align]: #ptr.align
435
  [scoped.adaptor.operators]: #scoped.adaptor.operators
436
  [smartptr]: #smartptr
437
  [smartptr.adapt]: #smartptr.adapt
438
  [specialized.addressof]: #specialized.addressof
439
  [specialized.algorithms]: algorithms.md#specialized.algorithms
440
  [stmt.dcl]: stmt.md#stmt.dcl
441
  [swappable.requirements]: library.md#swappable.requirements
442
  [temp.deduct]: temp.md#temp.deduct
443
+ [term.implicit.lifetime.type]: basic.md#term.implicit.lifetime.type
444
  [term.incomplete.type]: basic.md#term.incomplete.type
445
+ [term.trivially.copyable.type]: basic.md#term.trivially.copyable.type
446
  [tuple]: utilities.md#tuple
447
  [unique.ptr]: #unique.ptr
448
  [unique.ptr.create]: #unique.ptr.create
449
  [unique.ptr.dltr]: #unique.ptr.dltr
450
  [unique.ptr.dltr.dflt]: #unique.ptr.dltr.dflt
 
469
  [unord.hash]: utilities.md#unord.hash
470
  [util.sharedptr]: #util.sharedptr
471
  [util.smartptr.enab]: #util.smartptr.enab
472
  [util.smartptr.getdeleter]: #util.smartptr.getdeleter
473
  [util.smartptr.hash]: #util.smartptr.hash
474
+ [util.smartptr.owner.equal]: #util.smartptr.owner.equal
475
+ [util.smartptr.owner.hash]: #util.smartptr.owner.hash
476
  [util.smartptr.ownerless]: #util.smartptr.ownerless
477
  [util.smartptr.shared]: #util.smartptr.shared
478
  [util.smartptr.shared.assign]: #util.smartptr.shared.assign
479
  [util.smartptr.shared.cast]: #util.smartptr.shared.cast
480
  [util.smartptr.shared.cmp]: #util.smartptr.shared.cmp