Hot Door CORE 0.8.2
Adobe® Illustrator® Plug-in Library
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
hdi::core::Layer::Iterator Class Reference

Allows for iteration through the siblings of a layer, a la std::vector iteration. More...

#include <hdicoreLayer.h>

Public Member Functions

 Iterator (const Iterator &iter_)
 Constructs an Iterator object from an existing Iterator object (copy constructor)
 
 ~Iterator ()
 Destructs an Iterator object.
 
Iteratoroperator= (const Iterator &rhs_)
 Assigns one Iterator object to another.
 
bool operator== (const Iterator &rhs_) const
 Tests whether a given Iterator object is the same as another.
 
bool operator!= (const Iterator &rhs_) const
 Tests whether a given Iterator object is not the same as another.
 
Iteratoroperator++ ()
 Prefix increment operator for forward iteration.
 
Iterator operator++ (int)
 Postfix increment operator for forward iteration.
 
Iteratoroperator-- ()
 Prefix decrement operator for reverse iteration.
 
Iterator operator-- (int)
 Postfix decrement operator for reverse iteration.
 
bool atEnd () const
 Determines whether iteration should stop; works well as the conditional in a for() loop.
 
std::unique_ptr< Layerlayer () const
 Gets the current layer pointed to by the iterator.
 

Friends

class Layer
 

Detailed Description

Allows for iteration through the siblings of a layer, a la std::vector iteration.

// Here's an example, iterating through all top-level layers of a document:
std::unique_ptr<hdi::core::Layer> layer0 = HDI_CORE_ILLUSTRATOR->currentDocument()->firstLayer();
for(hdi::core::Layer::Iterator iter = layer0->begin(); !iter.atEnd(); ++iter)
{
// Do stuff with iter.layer() ...
}
// Here's another example, reverse iterating through all top-level layers of a document:
std::unique_ptr<hdi::core::Layer> layerN = HDI_CORE_ILLUSTRATOR->currentDocument()->lastLayer();
for(hdi::core::Layer::Iterator iter = layerN->begin(); !iter.atEnd(); --iter)
{
// Do more stuff with iter.layer() ...
}
Allows for iteration through the siblings of a layer, a la std::vector iteration.
Definition: hdicoreLayer.h:62
bool atEnd() const
Determines whether iteration should stop; works well as the conditional in a for() loop.
#define HDI_CORE_ILLUSTRATOR
Slightly shorter way to access the Illustrator instance, but still utilizing a non-colliding name sch...
Definition: hdicoreIllustrator.h:21

Constructor & Destructor Documentation

◆ Iterator()

hdi::core::Layer::Iterator::Iterator ( const Iterator iter_)

Constructs an Iterator object from an existing Iterator object (copy constructor)

Author
GW
Date
10/2013
Parameters
iter_Existing Iterator object

◆ ~Iterator()

hdi::core::Layer::Iterator::~Iterator ( )

Destructs an Iterator object.

Author
GW
Date
08/2013

Member Function Documentation

◆ atEnd()

bool hdi::core::Layer::Iterator::atEnd ( ) const

Determines whether iteration should stop; works well as the conditional in a for() loop.

Author
GW
Date
08/2013
Returns
true if at the end of the list of siblings, false otherwise

◆ layer()

std::unique_ptr< Layer > hdi::core::Layer::Iterator::layer ( ) const

Gets the current layer pointed to by the iterator.

Author
GW
Date
08/2013
Returns
The current layer, or an empty Layer object if at the end (see default Layer constructor for more information)

◆ operator!=()

bool hdi::core::Layer::Iterator::operator!= ( const Iterator rhs_) const

Tests whether a given Iterator object is not the same as another.

Author
GW
Date
10/2013
Parameters
rhs_Iterator to compare against (righthand side of inequality operator)
Returns
true for the target and rhs_ having differing states, false otherwise

◆ operator++() [1/2]

Iterator & hdi::core::Layer::Iterator::operator++ ( )

Prefix increment operator for forward iteration.

Author
GW
Date
08/2013
Returns
A reference to the iterator after its position was changed

◆ operator++() [2/2]

Iterator hdi::core::Layer::Iterator::operator++ ( int  )

Postfix increment operator for forward iteration.

Author
GW
Date
08/2013
Returns
A copy of the original iterator before its position was changed

◆ operator--() [1/2]

Iterator & hdi::core::Layer::Iterator::operator-- ( )

Prefix decrement operator for reverse iteration.

Author
GW
Date
08/2013
Returns
A reference to the iterator after its position was changed

◆ operator--() [2/2]

Iterator hdi::core::Layer::Iterator::operator-- ( int  )

Postfix decrement operator for reverse iteration.

Author
GW
Date
08/2013
Returns
A copy of the original iterator before its position was changed

◆ operator=()

Iterator & hdi::core::Layer::Iterator::operator= ( const Iterator rhs_)

Assigns one Iterator object to another.

Author
GW
Date
10/2013
Parameters
rhs_Existing Iterator object to copy values from
Returns
The target Iterator object, but with its values updated to match that of the rhs_ argument

◆ operator==()

bool hdi::core::Layer::Iterator::operator== ( const Iterator rhs_) const

Tests whether a given Iterator object is the same as another.

Author
GW
Date
10/2013
Parameters
rhs_Iterator to compare against (righthand side of equality operator)
Returns
true for the target and rhs_ having the same state, false otherwise