KiCad PCB EDA Suite
Loading...
Searching...
No Matches
LAYER_RANGE::LAYER_RANGE_ITERATOR Class Reference

Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = PCB_LAYER_ID
 
using difference_type = std::ptrdiff_t
 
using pointer = PCB_LAYER_ID *
 
using reference = PCB_LAYER_ID &
 

Public Member Functions

 LAYER_RANGE_ITERATOR (PCB_LAYER_ID start, PCB_LAYER_ID stop, int layer_count)
 
PCB_LAYER_ID operator* () const
 
LAYER_RANGE_ITERATORoperator++ ()
 
LAYER_RANGE_ITERATOR operator++ (int)
 
bool operator== (const LAYER_RANGE_ITERATOR &other) const
 
bool operator!= (const LAYER_RANGE_ITERATOR &other) const
 

Private Member Functions

int next_layer (int aLayer)
 

Private Attributes

int m_current
 
int m_stop
 
int m_layer_count
 
bool m_reverse
 

Detailed Description

Definition at line 33 of file layer_range.h.

Member Typedef Documentation

◆ difference_type

Definition at line 74 of file layer_range.h.

◆ iterator_category

using LAYER_RANGE::LAYER_RANGE_ITERATOR::iterator_category = std::bidirectional_iterator_tag

Definition at line 72 of file layer_range.h.

◆ pointer

◆ reference

◆ value_type

Constructor & Destructor Documentation

◆ LAYER_RANGE_ITERATOR()

LAYER_RANGE::LAYER_RANGE_ITERATOR::LAYER_RANGE_ITERATOR ( PCB_LAYER_ID  start,
PCB_LAYER_ID  stop,
int  layer_count 
)
inline

Definition at line 78 of file layer_range.h.

References B_Cu, m_current, m_layer_count, m_reverse, and m_stop.

Member Function Documentation

◆ next_layer()

int LAYER_RANGE::LAYER_RANGE_ITERATOR::next_layer ( int  aLayer)
inlineprivate

Definition at line 41 of file layer_range.h.

References B_Cu, F_Cu, In1_Cu, m_layer_count, m_reverse, m_stop, and UNDEFINED_LAYER.

Referenced by operator++().

◆ operator!=()

bool LAYER_RANGE::LAYER_RANGE_ITERATOR::operator!= ( const LAYER_RANGE_ITERATOR other) const
inline

Definition at line 112 of file layer_range.h.

◆ operator*()

PCB_LAYER_ID LAYER_RANGE::LAYER_RANGE_ITERATOR::operator* ( ) const
inline

Definition at line 92 of file layer_range.h.

References m_current.

◆ operator++() [1/2]

LAYER_RANGE_ITERATOR & LAYER_RANGE::LAYER_RANGE_ITERATOR::operator++ ( )
inline

Definition at line 94 of file layer_range.h.

References m_current, and next_layer().

◆ operator++() [2/2]

LAYER_RANGE_ITERATOR LAYER_RANGE::LAYER_RANGE_ITERATOR::operator++ ( int  )
inline

Definition at line 100 of file layer_range.h.

◆ operator==()

bool LAYER_RANGE::LAYER_RANGE_ITERATOR::operator== ( const LAYER_RANGE_ITERATOR other) const
inline

Definition at line 107 of file layer_range.h.

References m_current.

Member Data Documentation

◆ m_current

int LAYER_RANGE::LAYER_RANGE_ITERATOR::m_current
private

Definition at line 36 of file layer_range.h.

Referenced by LAYER_RANGE_ITERATOR(), operator*(), operator++(), and operator==().

◆ m_layer_count

int LAYER_RANGE::LAYER_RANGE_ITERATOR::m_layer_count
private

Definition at line 38 of file layer_range.h.

Referenced by LAYER_RANGE_ITERATOR(), and next_layer().

◆ m_reverse

bool LAYER_RANGE::LAYER_RANGE_ITERATOR::m_reverse
private

Definition at line 39 of file layer_range.h.

Referenced by LAYER_RANGE_ITERATOR(), and next_layer().

◆ m_stop

int LAYER_RANGE::LAYER_RANGE_ITERATOR::m_stop
private

Definition at line 37 of file layer_range.h.

Referenced by LAYER_RANGE_ITERATOR(), and next_layer().


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