Namespaces
Variants
Actions

std::flat_set<Key,Compare,KeyContainer>::insert_range

From cppreference.com
< cpp‎ | container‎ | flat set
 
C++
 
Containers library
 
std::flat_set
template< container-compatible-range<value_type> R >
void insert_range( R&& rg );
(since C++23)
(constexpr since C++26)

Inserts a copy of each element in the range rg into underlying container c as if by:

for (const auto& e : rg)
    c.insert(c.end(), e);

Then, sorts the range of newly inserted elements with respect to compare. Merges the resulting sorted range and the sorted range of pre-existing elements into a single sorted range. Finally, erases all but the first element from each group of consecutive equivalent elements.

Each iterator in the range rg is dereferenced exactly once.

If any of the following conditions is satisfied, the behavior is undefined:

Contents

[edit] Parameters

rg - a container compatible range, that is, an input_range whose elements are convertible to T

[edit] Complexity

S+N·log(N), where S is size() and N is ranges::distance(rg).

[edit] Notes

Since insert_range performs an in-place merge operation, that may allocate memory.

[edit] Example

#include <iostream>
#include <flat_set>
 
void println(auto, const auto& container)
{
    for (const auto& elem : container)
        std::cout << elem << ' ';
    std::cout << '\n';
}
 
int main()
{
    auto container = std::flat_set{1, 3, 2, 4};
    const auto rg = {-1, 3, -2};
#ifdef __cpp_lib_containers_ranges
    container.insert_range(rg);
#else
    container.insert(rg.begin(), rg.end();
#endif
    println("{}", container);
}

Output:

-2 -1 1 2 3 4

[edit] See also

inserts elements
(public member function) [edit]

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant