std::basic_stacktrace<Allocator>::basic_stacktrace
From cppreference.com
 
 
 < cpp | utility | basic stacktrace 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Diagnostics library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(until C++20*)
  (C++17)(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
 Exception handling failures
(C++11)
(until C++17*)
(until C++17*)
(until C++17*)
(until C++17*)
(TM TS)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++23)
(C++23)
(C++26)
(C++26)
(C++26)
std::basic_stacktrace 
 
basic_stacktrace::basic_stacktrace
basic_stacktrace() noexcept(/* see below */);
 (1) 
 (since C++23) 
explicit basic_stacktrace( const allocator_type& alloc ) noexcept;
 (2) 
 (since C++23) 
basic_stacktrace( const basic_stacktrace& other );
 (3) 
 (since C++23) 
basic_stacktrace( basic_stacktrace&& other ) noexcept;
 (4)
 (since C++23)
basic_stacktrace( const basic_stacktrace& other,
const allocator_type& alloc );
 (5) 
 (since C++23) 
const allocator_type& alloc );
basic_stacktrace( basic_stacktrace&& other, const allocator_type& alloc );
 (6) 
 (since C++23) 
Constructs an empty basic_stacktrace, or copy/move from other.
1) Default constructor. Constructs an empty 
basic_stacktrace with a default-constructed allocator.2) Constructs an empty 
basic_stacktrace using alloc as the allocator.3) Copy constructor. Constructs a 
basic_stacktrace with the copy of the contents of other, the allocator is obtained as if by calling std::allocator_traits <allocator_type>::select_on_container_copy_construction(other.get_allocator()).4) Move constructor. Constructs a 
basic_stacktrace with the contents of other using move semantics. Allocator is move-constructed from that of other. After construction, other is left in a valid but unspecified state.5) Same as the copy constructor, except that alloc is used as the allocator.
6) Behaves same as the move constructor if alloc == other.get_allocator(). Otherwise, allocates memory with alloc and performs element-wise move. alloc is used as the allocator.
(3,5,6) may throw an exception or construct an empty basic_stacktrace on allocation failure.
[edit] Parameters
 alloc
 -
 allocator to use for all memory allocations of the constructed 
basic_stacktrace
 other
 -
 another 
basic_stacktrace to copy/move from
[edit] Exceptions
1) 
noexcept specification:  
noexcept(std::is_nothrow_default_constructible_v <allocator_type>)
3,5,6) May propagate the exception thrown on allocation failure.
[edit] Complexity
1,2) Constant.
3) Linear in size of other.
4) Constant.
5) Linear in size of other.
6) Linear in size of other if alloc != other.get_allocator(), otherwise constant.
[edit] Notes
After container move construction (overload (4)), references, pointers, and iterators (other than the end iterator) to other remain valid, but refer to elements that are now in *this. The current standard makes this guarantee via the blanket statement in [container.reqmts]/67, and a more direct guarantee is under consideration via LWG issue 2321.
[edit] Example
 This section is incomplete
Reason: no example
Reason: no example