4#ifndef QTDECLARATIVE_QMINIMALFLATSET_P_H
5#define QTDECLARATIVE_QMINIMALFLATSET_P_H
7#if __has_include(<QtCore/private/qminimalflatset_p.h>)
8# include <QtCore/private/qminimalflatset_p.h>
22#include <QtQuick/qtquickglobal.h>
24#include <QtCore/qcontainerfwd.h>
25#include <QtCore/private/qglobal_p.h>
28#ifdef QMINIMAL_FLAT_SET_DEBUG
29# include <QtCore/qscopeguard.h>
30# include <QtCore/qdebug.h>
31# define QMINIMAL_FLAT_SET_PRINT_AT_END \
32 const auto sg = qScopeGuard([&] { qDebug() << this << *this; });
34# define QMINIMAL_FLAT_SET_PRINT_AT_END
51template <
typename T,
typename Container = QList<T>>
80 auto size()
const {
return c.size(); }
87 const auto r = lookup(
v);
91 return {
c.insert(
r.it, std::move(
v)),
true};
97 const auto r = lookup(
v);
101 return {
c.insert(
r.it,
v),
true};
107 const auto r = lookup(
v);
115 return lookup(
v).exists;
118 const Container &
values() const & {
return c; }
119 Container
values() && {
return std::move(
c); }
129 const auto it = std::lower_bound(
c.cbegin(),
c.cend(),
v);
133#ifdef QMINIMAL_FLAT_SET_DEBUG
137 dbg.nospace() <<
"QMinimalFlatSet{";
const_reverse_iterator reverse_iterator
reverse_iterator rend() const
std::pair< iterator, bool > insert(value_type &&v)
void erase(const value_type &v)
reverse_iterator rbegin() const
typename Container::const_iterator const_iterator
const Container & values() const &
typename Container::const_reverse_iterator const_reverse_iterator
reverse_iterator crend() const
reverse_iterator crbegin() const
bool contains(const value_type &v) const
void remove(const value_type &v)
std::pair< iterator, bool > insert(const value_type &v)
const_iterator cend() const noexcept
QSet< QString >::iterator it
Combined button and popup list for selecting options.
GLsizei const GLfloat * v
[13]
#define QMINIMAL_FLAT_SET_PRINT_AT_END
QFuture< QSet< QChar > > set
[10]