std::flat_set::value_comp(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

Welcome to the std::flat_set::value_comp(3) page from the C++ Standard Libary, bestie πŸ’…βœ¨. This is the member-function moment where we talk about std::flat_set::value_comp.

🌸 NAME 🌸

std::flat_set::value_comp β€” std::flat_set::value_comp. That’s the name, and yes it is literally the same thing twice; we keep the whole thing, no cap.

✨ Synopsis ✨

std::flat_set::value_compare value_comp() const;

Since C++23 πŸ¦‹. It returns the function object that compares the values. It is the same as key_comp.

πŸŽ€ Parameters πŸŽ€

No parameters. (none) energy. Zero. Nada. ✨

πŸ’– Return value πŸ’–

The value comparison function object. That’s the return tea, bestie.

πŸ”₯ Complexity πŸ”₯

Constant. Periodt.

🌈 Example 🌈

Run this code, bestie:

#include <iostream>
#include <flat_set>
#include <utility>

// Example module 97 key compare function
struct ModCmp
{
    bool operator()(int lhs, int rhs) const
    {
        return (lhs % 97) < (rhs % 97);
    }
};

int main()
{
    std::flat_set<int, ModCmp> cont{1, 2, 3, 4, 5};

    // Same behaviour as key_comp()
    auto comp_func = cont.value_comp();

    for (const int val{100}; const int key : cont)
    {
        const bool before = comp_func(key, val);
        const bool after = comp_func(val, key);

        std::cout << "Key (" << key << ") ";
        if (!before && !after)
            std::cout << "equivalent to key (" << val << ")\n";
        else if (before)
            std::cout << "goes before key (" << val << ")\n";
        else if (after)
            std::cout << "goes after key (" << val << ")\n";
        else
            std::unreachable();
    }
}

⭐ Output ⭐

Key (1) goes before key (100)
Key (2) goes before key (100)
Key (3) equivalent to key (100)
Key (4) goes after key (100)
Key (5) goes after key (100)

🫢 See also 🫢

  • key_comp β€” returns the function that compares keys (public member function).

That’s the whole page, bestie. Source/version/date sign-off: http://cppreference.com, 2024.06.10, and the page is std::flat_set::value_comp(3). Bye πŸ’œπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from