C++ flat_map::empty() Function



The std::flat_map::empty() function in C++, is used to check whether a flat_map container is empty. It returns true if the flat_map contains no elements otherwise it returns false.

This function provides a quick way to verify whether the flat_map has data before performing the operations such as iteration or loop. The time complexity of this function is O(1).

Syntax

Following is the syntax for std::flat_map::empty() function.

bool empty() const noexcept;

Parameters

It does not accepts any parameter.

Return Value

This function returns true if the container is empty otherwise false.

Example 1

Let's look at the following example, where we are going to use the empty() to check whether the flat_map is empty or not.

#include <iostream>
#include <boost/container/flat_map.hpp>
int main() {
   boost::container::flat_map < int, std::string > a;
   if (a.empty()) {
      std::cout << "It is empty.\n";
   } else {
      std::cout << "It is not empty.\n";
   }
   return 0;
}

Output

Output of the above code is as follows −

It is empty.

Example 2

Consider the following example, where we are going to use the empty(), after inserting the values and observing the output.

#include <iostream>
#include <boost/container/flat_map.hpp>
int main() {
   boost::container::flat_map < int, std::string > x;
   x[1] = "Car";
   x[2] = "Bike";
   if (x.empty()) {
      std::cout << "The flat_map is empty.\n";
   } else {
      std::cout << "The flat_map is not empty.\n";
   }
   return 0;
}

Output

Following is the output of the above code −

The flat_map is not empty.

Example

In the following example, we are going to use the empty() function in a conditional expression.

#include <iostream>
#include <boost/container/flat_map.hpp>
int main() {
   boost::container::flat_map < int, std::string > x = {
      {1,"Hi"},
      {2,"Hello"}
   };
   std::cout << (x.empty() ? "Flat_map is empty\n" : "Flat_map has elements\n");
   x.clear();
   std::cout << (x.empty() ? "Flat_map is now empty\n" : "Flat_map still has elements\n");
   return 0;
}

Output

If we run the above code it will generate the following output −

Flat_map has elements
Flat_map is now empty
cpp_flat_map.htm
Advertisements