OpenTTD
Public Member Functions
LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer Class Reference

A "fake" pointer to enable operator-> on temporaries. More...

#include <linkgraph.h>

Inheritance diagram for LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer:
SmallPair< NodeID, Tedge_wrapper >

Public Member Functions

 FakePointer (const SmallPair< NodeID, Tedge_wrapper > &pair)
 Construct a fake pointer from a pair of NodeID and edge.
SmallPair< NodeID,
Tedge_wrapper > * 
operator-> ()
 Retrieve the pair by operator->.
- Public Member Functions inherited from SmallPair< NodeID, Tedge_wrapper >
 SmallPair (const NodeID &first, const Tedge_wrapper &second)
 Initializes this Pair with data.

Additional Inherited Members

- Data Fields inherited from SmallPair< NodeID, Tedge_wrapper >
NodeID first
Tedge_wrapper second

Detailed Description

template<class Tedge, class Tedge_wrapper, class Titer>
class LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer

A "fake" pointer to enable operator-> on temporaries.

As the objects returned from operator* aren't references but real objects, we have to return something that implements operator->, but isn't a pointer from operator->. A fake pointer.

Definition at line 193 of file linkgraph.h.

Constructor & Destructor Documentation

template<class Tedge, class Tedge_wrapper, class Titer>
LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer::FakePointer ( const SmallPair< NodeID, Tedge_wrapper > &  pair)
inline

Construct a fake pointer from a pair of NodeID and edge.

Parameters
pairPair to be "pointed" to (in fact shallow-copied).

Definition at line 200 of file linkgraph.h.

Member Function Documentation

template<class Tedge, class Tedge_wrapper, class Titer>
SmallPair<NodeID, Tedge_wrapper>* LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer::operator-> ( )
inline

Retrieve the pair by operator->.

Returns
Pair being "pointed" to.

Definition at line 206 of file linkgraph.h.


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