23#ifndef VCL_SPACE_COMPLEX_GRAPH_BIPARTITE_ITERATORS_ADJACENT_NODE_ITERATOR_H
24#define VCL_SPACE_COMPLEX_GRAPH_BIPARTITE_ITERATORS_ADJACENT_NODE_ITERATOR_H
26namespace vcl::detail {
28template<
typename Graph,
typename Iterator>
29class AdjacentNodeIterator
32 const Graph* mGraph =
nullptr;
36 AdjacentNodeIterator() {}
38 AdjacentNodeIterator(
const Graph& g, Iterator it) : mGraph(&g), mIt(it) {}
40 bool operator==(
const AdjacentNodeIterator& otherIterator)
const
42 return (mGraph == otherIterator.mGraph && mIt == otherIterator.mIt);
45 bool operator!=(
const AdjacentNodeIterator& otherIterator)
const
47 return !(*
this == otherIterator);
50 AdjacentNodeIterator operator++()
56 AdjacentNodeIterator operator++(
int)
58 AdjacentNodeIterator tmp;