Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

string::string (9 of 12 overloads)
PrevUpHomeNext

Constructor.

Synopsis
explicit
string(
    string&& other,
    storage_ptr sp);
Description

Construct the contents with those of other using move semantics.

  • If *other.storage() == *sp, ownership of the underlying memory is transferred in constant time, with no possibility of exceptions. After construction, the moved-from string behaves as if newly constructed with its current boost::container::pmr::memory_resource. Otherwise,
  • If *other.storage() != *sp, a copy of the characters in other is made. In this case, the moved-from string is not changed.
Complexity

Constant or linear in other.size().

Exception Safety

Strong guarantee. Calls to memory_resource::allocate may throw.

Parameters

Name

Description

other

The string to assign from.

sp

An optional pointer to the boost::container::pmr::memory_resource to use. The container will acquire shared ownership of the memory resource. The default argument for this parameter is {}.


PrevUpHomeNext