18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include <QtCore/QHash>
20#include <QtCore/QQueue>
21#include <QtCore/QString>
22#include <QtCore/QDebug>
33template <
typename Vertex,
typename EdgeData>
43 row =
g->m_graph.constBegin();
45 if (
row !=
g->m_graph.constEnd())
48 row =
g->m_graph.constEnd();
66 if (
row ==
g->m_graph.end()) {
75 if (
row !=
g->m_graph.constEnd()) {
79 if (
row !=
g->m_graph.constEnd()) {
121#if defined(QT_DEBUG) && 0
122 qDebug(
"Graph::createEdge(): %s",
124 .
arg(
first->toString()).arg(second->toString())));
138#if defined(QT_DEBUG) && 0
139 qDebug(
"Graph::removeEdge(): %s",
141 .
arg(
first->toString()).arg(second->toString())));
151#if defined(QT_DEBUG) && 0
152 qDebug(
"Graph::takeEdge(): %s",
154 .
arg(
first->toString()).arg(second->toString())));
179 return setOfVertices;
189 if (std::less<Vertex*>()(from, to))
204 for (
auto *
v1 : adjacents) {
206 bool forward =
data->from ==
v;
208 edges +=
QString::fromLatin1(
"\"%1\"->\"%2\" [label=\"[%3,%4,%5,%6,%7]\" color=\"#000000\"] \n")
228 m_graph[from][to] =
data;
233 const auto it = m_graph.
find(from);
const_iterator(const Graph *graph, bool begin)
const_iterator & operator++()
bool operator==(const const_iterator &o) const
bool operator!=(const const_iterator &o) const
EdgeData * takeEdge(Vertex *first, Vertex *second)
QList< QPair< Vertex *, Vertex * > > connections() const
QList< Vertex * > adjacentVertices(Vertex *vertex) const
const_iterator constEnd() const
QSet< Vertex * > vertices() const
void removeEdge(Vertex *first, Vertex *second)
void createDirectedEdge(Vertex *from, Vertex *to, EdgeData *data)
void removeDirectedEdge(Vertex *from, Vertex *to)
const_iterator constBegin() const
EdgeData * edgeData(Vertex *first, Vertex *second)
void createEdge(Vertex *first, Vertex *second, EdgeData *data)
const_iterator constFind(const Key &key) const noexcept
iterator find(const Key &key)
Returns an iterator pointing to the item with the key in the hash.
iterator erase(const_iterator it)
iterator end() noexcept
Returns an \l{STL-style iterators}{STL-style iterator} pointing to the imaginary item after the last ...
const_iterator cend() const noexcept
void append(parameter_type t)
bool remove(const T &value)
const_iterator cend() const noexcept
const_iterator constFind(const T &value) const
iterator insert(const T &value)
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=u' ') const
QSet< QString >::iterator it
Combined button and popup list for selecting options.
GLsizei const GLfloat * v
[13]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
constexpr decltype(auto) qMakePair(T1 &&value1, T2 &&value2) noexcept(noexcept(std::make_pair(std::forward< T1 >(value1), std::forward< T2 >(value2))))
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
#define qPrintable(string)
#define QT_REQUIRE_CONFIG(feature)
\qmltype MapCircle \instantiates QDeclarativeCircleMapItem \inqmlmodule QtLocation