LibraryLink Utilities  3.0.1
Modern C++ wrapper over LibraryLink and WSTP
LLU::NodeIterator< T > Struct Template Reference

Description

template<typename T>
struct LLU::NodeIterator< T >

Simple proxy input iterator that goes over a DataStore and returns proxy DataNodes when dereferenced.

Template Parameters
T- data node type, see LLU::NodeType namespace for supported node types

Inherits LLU::Detail::DataListIteratorPrimitive.

#include <DataList.hpp>

Public Types

using value_type = DataNode< T >
 This iterator iterates over values of type DataNode<T> More...
 
using reference = value_type
 NodeIterator is a proxy iterator and so the reference type is the same as value_type. More...
 
using iterator_category = std::input_iterator_tag
 
using pointer = void *
 
using difference_type = mint
 

Public Member Functions

reference operator* () const
 Get current proxy DataNode. More...
 
NodeIteratoroperator++ ()
 Pre-increment operator. More...
 
NodeIterator operator++ (int)
 Post-increment operator. More...
 

Public Attributes

GenericDataNode node
 

Type aliases documentation

◆ reference

template<typename T >
using LLU::NodeIterator< T >::reference = value_type

NodeIterator is a proxy iterator and so the reference type is the same as value_type.

◆ value_type

template<typename T >
using LLU::NodeIterator< T >::value_type = DataNode<T>

This iterator iterates over values of type DataNode<T>

Member Function Documentation

◆ operator*()

template<typename T >
reference LLU::NodeIterator< T >::operator* ( ) const
inline

Get current proxy DataNode.

Returns
proxy object for the currently pointed to node

◆ operator++() [1/2]

template<typename T >
NodeIterator& LLU::NodeIterator< T >::operator++ ( )
inline

Pre-increment operator.

Returns
this

◆ operator++() [2/2]

template<typename T >
NodeIterator LLU::NodeIterator< T >::operator++ ( int  )
inline

Post-increment operator.

Returns
"old" copy of the iterator object