Jlm
Public Types | Public Member Functions | Private Attributes | List of all members
jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType > Class Template Reference

#include <traverser.hpp>

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = NodeType *
 
using difference_type = ssize_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

constexpr TraverserIterator (Traverser &traverser, NodeType *node) noexcept
 
const TraverserIteratoroperator++ () noexcept
 
bool operator== (const TraverserIterator &other) const noexcept
 
bool operator!= (const TraverserIterator &other) const noexcept
 
reference operator* () noexcept
 
pointer operator-> () noexcept
 

Private Attributes

Traverser & traverser_
 
NodeType * node_
 

Detailed Description

template<typename Traverser, typename NodeType>
class jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >

Definition at line 91 of file traverser.hpp.

Member Typedef Documentation

◆ difference_type

template<typename Traverser , typename NodeType >
using jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::difference_type = ssize_t

Definition at line 96 of file traverser.hpp.

◆ iterator_category

template<typename Traverser , typename NodeType >
using jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::iterator_category = std::input_iterator_tag

Definition at line 94 of file traverser.hpp.

◆ pointer

template<typename Traverser , typename NodeType >
using jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::pointer = value_type *

Definition at line 97 of file traverser.hpp.

◆ reference

template<typename Traverser , typename NodeType >
using jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::reference = value_type &

Definition at line 98 of file traverser.hpp.

◆ value_type

template<typename Traverser , typename NodeType >
using jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::value_type = NodeType *

Definition at line 95 of file traverser.hpp.

Constructor & Destructor Documentation

◆ TraverserIterator()

template<typename Traverser , typename NodeType >
constexpr jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::TraverserIterator ( Traverser &  traverser,
NodeType *  node 
)
inlineconstexprnoexcept

Definition at line 100 of file traverser.hpp.

Member Function Documentation

◆ operator!=()

template<typename Traverser , typename NodeType >
bool jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::operator!= ( const TraverserIterator< Traverser, NodeType > &  other) const
inlinenoexcept

Definition at line 119 of file traverser.hpp.

◆ operator*()

template<typename Traverser , typename NodeType >
reference jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::operator* ( )
inlinenoexcept

Definition at line 125 of file traverser.hpp.

◆ operator++()

template<typename Traverser , typename NodeType >
const TraverserIterator& jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::operator++ ( )
inlinenoexcept

Definition at line 106 of file traverser.hpp.

◆ operator->()

template<typename Traverser , typename NodeType >
pointer jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::operator-> ( )
inlinenoexcept

Definition at line 131 of file traverser.hpp.

◆ operator==()

template<typename Traverser , typename NodeType >
bool jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::operator== ( const TraverserIterator< Traverser, NodeType > &  other) const
inlinenoexcept

Definition at line 113 of file traverser.hpp.

Member Data Documentation

◆ node_

template<typename Traverser , typename NodeType >
NodeType* jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::node_
private

Definition at line 138 of file traverser.hpp.

◆ traverser_

template<typename Traverser , typename NodeType >
Traverser& jlm::rvsdg::detail::TraverserIterator< Traverser, NodeType >::traverser_
private

Definition at line 137 of file traverser.hpp.


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