mirror of
https://github.com/boostorg/core.git
synced 2025-05-11 13:13:55 +00:00
More documentation updates
This commit is contained in:
parent
a90dc39e06
commit
14fb9e4433
@ -82,7 +82,7 @@ std::size_t n);`]
|
|||||||
[[variablelist
|
[[variablelist
|
||||||
[[Requires][`A` is an /Allocator/]]
|
[[Requires][`A` is an /Allocator/]]
|
||||||
[[Effects]
|
[[Effects]
|
||||||
[Destroys each /i/th element in reverse order by calling
|
[Destroys each ['i]th element in reverse order by calling
|
||||||
`std::allocator_traits<A>::destroy(a, &p[i])`.]]]]]
|
`std::allocator_traits<A>::destroy(a, &p[i])`.]]]]]
|
||||||
[[`template<class A, class T, class U> void alloc_construct(A& a, T* p,
|
[[`template<class A, class T, class U> void alloc_construct(A& a, T* p,
|
||||||
U&&... u);`]
|
U&&... u);`]
|
||||||
@ -95,20 +95,20 @@ std::size_t n);`]
|
|||||||
[[variablelist
|
[[variablelist
|
||||||
[[Requires][`A` is an /Allocator/]]
|
[[Requires][`A` is an /Allocator/]]
|
||||||
[[Effects]
|
[[Effects]
|
||||||
[Constructs each /i/th element in order by calling
|
[Constructs each ['i]th element in order by calling
|
||||||
`std::allocator_traits<A>::construct(a, &p[i])`.]]
|
`std::allocator_traits<A>::construct(a, &p[i])`.]]
|
||||||
[[Remarks]
|
[[Remarks]
|
||||||
[If an exception is thrown, destroys each already constructed /j/th element in
|
[If an exception is thrown destroys each already constructed ['j]th element in
|
||||||
reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]
|
reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]
|
||||||
[[`template<class A, class T> void alloc_construct_n(A& a, T* p, std::size_t n,
|
[[`template<class A, class T> void alloc_construct_n(A& a, T* p, std::size_t n,
|
||||||
const T* l, std::size_t m);`]
|
const T* l, std::size_t m);`]
|
||||||
[[variablelist
|
[[variablelist
|
||||||
[[Requires][`A` is an /Allocator/]]
|
[[Requires][`A` is an /Allocator/]]
|
||||||
[[Effects]
|
[[Effects]
|
||||||
[Constructs each /i/th element in order by calling
|
[Constructs each ['i]th element in order by calling
|
||||||
`std::allocator_traits<A>::construct(a, &p[i], l[i % m])`.]]
|
`std::allocator_traits<A>::construct(a, &p[i], l[i % m])`.]]
|
||||||
[[Remarks]
|
[[Remarks]
|
||||||
[If an exception is thrown, destroys each already constructed /j/th element in
|
[If an exception is thrown destroys each already constructed ['j]th element in
|
||||||
reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]]
|
reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]]
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
@ -117,8 +117,9 @@ reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]]
|
|||||||
|
|
||||||
[section Acknowledgments]
|
[section Acknowledgments]
|
||||||
|
|
||||||
Glen Fernandes originally implemented this functionality in Boost.Smart_ptr and
|
Glen Fernandes originally implemented this functionality in Boost.Smart_Ptr and
|
||||||
later moved these functions to Boost.Core for use in multiple Boost libraries.
|
later moved these functions to Boost.Core for use in other Boost libraries,
|
||||||
|
such as Boost.Multi_Array.
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
|
@ -38,6 +38,19 @@ template<class Key, class Compare = std::less<Key>,
|
|||||||
class FlatSet;
|
class FlatSet;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Facilities like `make_shared` can be implemented using `allocate_shared` with
|
||||||
|
`default_allocator`.
|
||||||
|
|
||||||
|
```
|
||||||
|
template<class T, class... Args>
|
||||||
|
enable_if_t<!is_array_v<T>, shared_ptr<T> >
|
||||||
|
make_shared(Args&&... args)
|
||||||
|
{
|
||||||
|
return allocate_shared<T>(boost::default_allocator<remove_cv_t<T> >(),
|
||||||
|
std::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
[section Reference]
|
[section Reference]
|
||||||
|
@ -169,4 +169,12 @@ const noinit_adaptor<U>& rhs) noexcept;`]
|
|||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
|
||||||
|
[section Compatibility]
|
||||||
|
|
||||||
|
When `BOOST_NO_CXX11_ALLOCATOR` is defined, and the C++11 allocator model is
|
||||||
|
not supported, these functions invoke constructors and destructors directly
|
||||||
|
without going through the supplied allocator.
|
||||||
|
|
||||||
|
[endsect]
|
||||||
|
|
||||||
[endsect]
|
[endsect]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user