
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ flat_set::replace() Function
The std::flat_set::replace() function in C++, is used to replace the existing element in the flat_set with a new value while maintaining the containers order. Unlike standard sets, flat_set stores elements in a sorted structure, optimizing search and iteration efficiency.
Unlike the erase() followed by the insert(), replace() provides an efficient way to update elements without unnecessary reallocations. It is useful when updating the values without manually erasing and inserting elements.
Syntax
Following is the syntax for std::flat_set::replace() function.
void replace( container_type&& cont );
Parameters
- cont − It indicates a sorted container of type keycontainer.
Return Value
This function does not return anything.
The C++ STL sd::set or std::flat_set does not provide the replace(). However, if you want to replace an element within a boost::container::flat_set, you can remove the existing element and insert the new one.
Example 1
Let's look at the following example, where we are going to replace the element in the flat_set.
#include <iostream> #include <boost/container/flat_set.hpp> int main() { boost::container::flat_set < int > a = {12,23,34,45}; a.erase(23); a.insert(112); for (int x: a) { std::cout << x << " "; } return 0; }
Output
Output of the above code is as follows −
12 34 45 112
Example 2
Consider the following example, where we are going to replace the element on the conditional basis.
#include <iostream> #include <boost/container/flat_set.hpp> int main() { boost::container::flat_set < int > x = {1,23,34,45}; if (x.find(34) != x.end()) { x.erase(34); x.insert(26); } for (int a: x) { std::cout << a << " "; } return 0; }
Output
Output of the above code is as follows −
1 23 26 45