Krita Source Code Documentation
Loading...
Searching...
No Matches
neighbour_iterator Struct Reference

#include <KisMagneticGraph.h>

+ Inheritance diagram for neighbour_iterator:

Public Member Functions

bool equal (neighbour_iterator const &that) const
 
void increment ()
 
 neighbour_iterator ()
 
 neighbour_iterator (VertexDescriptor v, KisMagneticGraph g, VertexDescriptor::Direction d)
 
std::pair< VertexDescriptor, VertexDescriptoroperator* () const
 
void operator++ ()
 
bool operator== (neighbour_iterator const &that) const
 

Private Attributes

VertexDescriptor::Direction m_direction {VertexDescriptor::NONE}
 
KisMagneticGraph m_graph
 
VertexDescriptor m_point
 

Detailed Description

Definition at line 178 of file KisMagneticGraph.h.

Constructor & Destructor Documentation

◆ neighbour_iterator() [1/2]

neighbour_iterator::neighbour_iterator ( VertexDescriptor v,
KisMagneticGraph g,
VertexDescriptor::Direction d )
inline

Definition at line 182 of file KisMagneticGraph.h.

182 :
184 { }
qreal v
VertexDescriptor::Direction m_direction
VertexDescriptor m_point
KisMagneticGraph m_graph

◆ neighbour_iterator() [2/2]

neighbour_iterator::neighbour_iterator ( )
inline

Definition at line 186 of file KisMagneticGraph.h.

187 { }

Member Function Documentation

◆ equal()

bool neighbour_iterator::equal ( neighbour_iterator const & that) const
inline

Definition at line 213 of file KisMagneticGraph.h.

214 {
215 return operator == (that);
216 }
bool operator==(neighbour_iterator const &that) const

References operator==().

◆ increment()

void neighbour_iterator::increment ( )
inline

Definition at line 218 of file KisMagneticGraph.h.

219 {
220 operator ++ ();
221 }

References operator++().

◆ operator*()

std::pair< VertexDescriptor, VertexDescriptor > neighbour_iterator::operator* ( ) const
inline

Definition at line 189 of file KisMagneticGraph.h.

190 {
191 std::pair<VertexDescriptor,
192 VertexDescriptor> const result = std::make_pair(m_point, m_point.neighbor(m_direction));
193 return result;
194 }
VertexDescriptor neighbor(Direction direction) const

References m_direction, m_point, and VertexDescriptor::neighbor().

◆ operator++()

void neighbour_iterator::operator++ ( )
inline

Definition at line 196 of file KisMagneticGraph.h.

197 {
198 m_direction = static_cast<VertexDescriptor::Direction>(int(m_direction) + 1);
201 return;
202 }
203 if (!m_graph.m_rect.contains(next.x, next.y)) {
204 operator ++ ();
205 }
206 }
QAction * next(const QObject *recvr, const char *slot, QObject *parent)

References m_direction, m_graph, m_point, KisMagneticGraph::m_rect, VertexDescriptor::neighbor(), VertexDescriptor::NONE, and operator++().

◆ operator==()

bool neighbour_iterator::operator== ( neighbour_iterator const & that) const
inline

Definition at line 208 of file KisMagneticGraph.h.

209 {
210 return m_point == that.m_point && m_direction == that.m_direction;
211 }

References m_direction, and m_point.

Member Data Documentation

◆ m_direction

VertexDescriptor::Direction neighbour_iterator::m_direction {VertexDescriptor::NONE}
private

Definition at line 225 of file KisMagneticGraph.h.

◆ m_graph

KisMagneticGraph neighbour_iterator::m_graph
private

Definition at line 226 of file KisMagneticGraph.h.

◆ m_point

VertexDescriptor neighbour_iterator::m_point
private

Definition at line 224 of file KisMagneticGraph.h.


The documentation for this struct was generated from the following file: