mirror of
https://github.com/boostorg/core.git
synced 2025-05-09 23:03:54 +00:00
More documentation updates
This commit is contained in:
parent
a90dc39e06
commit
14fb9e4433
@ -82,7 +82,7 @@ std::size_t n);`]
|
||||
[[variablelist
|
||||
[[Requires][`A` is an /Allocator/]]
|
||||
[[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])`.]]]]]
|
||||
[[`template<class A, class T, class U> void alloc_construct(A& a, T* p,
|
||||
U&&... u);`]
|
||||
@ -95,20 +95,20 @@ std::size_t n);`]
|
||||
[[variablelist
|
||||
[[Requires][`A` is an /Allocator/]]
|
||||
[[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])`.]]
|
||||
[[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])`.]]]]]
|
||||
[[`template<class A, class T> void alloc_construct_n(A& a, T* p, std::size_t n,
|
||||
const T* l, std::size_t m);`]
|
||||
[[variablelist
|
||||
[[Requires][`A` is an /Allocator/]]
|
||||
[[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])`.]]
|
||||
[[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])`.]]]]]]
|
||||
|
||||
[endsect]
|
||||
@ -117,8 +117,9 @@ reverse order by calling `std::allocator_traits<A>::destroy(a, &p[j])`.]]]]]]
|
||||
|
||||
[section Acknowledgments]
|
||||
|
||||
Glen Fernandes originally implemented this functionality in Boost.Smart_ptr and
|
||||
later moved these functions to Boost.Core for use in multiple Boost libraries.
|
||||
Glen Fernandes originally implemented this functionality in Boost.Smart_Ptr and
|
||||
later moved these functions to Boost.Core for use in other Boost libraries,
|
||||
such as Boost.Multi_Array.
|
||||
|
||||
[endsect]
|
||||
|
||||
|
@ -38,6 +38,19 @@ template<class Key, class Compare = std::less<Key>,
|
||||
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]
|
||||
|
||||
[section Reference]
|
||||
|
@ -169,4 +169,12 @@ const noinit_adaptor<U>& rhs) noexcept;`]
|
||||
|
||||
[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]
|
||||
|
Loading…
x
Reference in New Issue
Block a user