CGRA-ME
Public Types | Public Member Functions | Public Attributes | List of all members
ForwardingVisitor< Visitor > Class Template Reference

#include <GraphAlgorithmHelpers.h>

Public Types

using VisitorPtr = std::remove_reference_t< Visitor > *
 

Public Member Functions

 ForwardingVisitor (VisitorPtr visitor)
 
 ForwardingVisitor (const ForwardingVisitor &)=default
 
ForwardingVisitoroperator= (const ForwardingVisitor &)=default
 
 ForwardingVisitor (ForwardingVisitor &&)=default
 
ForwardingVisitoroperator= (ForwardingVisitor &&)=default
 
template<typename VertexID >
void onExamine (const VertexID &v)
 
template<typename VertexID1 , typename VertexID2 >
void onExamineEdge (const VertexID1 &v1, const VertexID2 &v2)
 
template<typename VertexID >
bool shouldIgnore (const VertexID &v)
 
template<typename VertexID1 , typename VertexID2 >
bool shouldIgnoreEdge (const VertexID1 &v1, const VertexID2 &v2)
 
template<typename VertexID >
void onSkipped (const VertexID &v)
 
template<typename VertexID1 , typename VertexID2 >
void onSkippedEdge (const VertexID1 &v1, const VertexID2 &v2)
 

Public Attributes

VisitorPtr ref
 

Detailed Description

template<typename Visitor>
class ForwardingVisitor< Visitor >

A class for help with composing visitors together. Given a pointer to a visitor, it (by default) delegates all callbacks to that visitor, allowing the composing code to only override/change certain callbacks.

Definition at line 110 of file GraphAlgorithmHelpers.h.

Member Typedef Documentation

◆ VisitorPtr

template<typename Visitor >
using ForwardingVisitor< Visitor >::VisitorPtr = std::remove_reference_t<Visitor>*

Definition at line 112 of file GraphAlgorithmHelpers.h.

Constructor & Destructor Documentation

◆ ForwardingVisitor() [1/3]

template<typename Visitor >
ForwardingVisitor< Visitor >::ForwardingVisitor ( VisitorPtr  visitor)
inline

Definition at line 115 of file GraphAlgorithmHelpers.h.

◆ ForwardingVisitor() [2/3]

template<typename Visitor >
ForwardingVisitor< Visitor >::ForwardingVisitor ( const ForwardingVisitor< Visitor > &  )
default

◆ ForwardingVisitor() [3/3]

template<typename Visitor >
ForwardingVisitor< Visitor >::ForwardingVisitor ( ForwardingVisitor< Visitor > &&  )
default

Member Function Documentation

◆ onExamine()

template<typename Visitor >
template<typename VertexID >
void ForwardingVisitor< Visitor >::onExamine ( const VertexID &  v)
inline

Definition at line 123 of file GraphAlgorithmHelpers.h.

◆ onExamineEdge()

template<typename Visitor >
template<typename VertexID1 , typename VertexID2 >
void ForwardingVisitor< Visitor >::onExamineEdge ( const VertexID1 &  v1,
const VertexID2 &  v2 
)
inline

Definition at line 126 of file GraphAlgorithmHelpers.h.

◆ onSkipped()

template<typename Visitor >
template<typename VertexID >
void ForwardingVisitor< Visitor >::onSkipped ( const VertexID &  v)
inline

Definition at line 135 of file GraphAlgorithmHelpers.h.

◆ onSkippedEdge()

template<typename Visitor >
template<typename VertexID1 , typename VertexID2 >
void ForwardingVisitor< Visitor >::onSkippedEdge ( const VertexID1 &  v1,
const VertexID2 &  v2 
)
inline

Definition at line 138 of file GraphAlgorithmHelpers.h.

◆ operator=() [1/2]

template<typename Visitor >
ForwardingVisitor& ForwardingVisitor< Visitor >::operator= ( const ForwardingVisitor< Visitor > &  )
default

◆ operator=() [2/2]

template<typename Visitor >
ForwardingVisitor& ForwardingVisitor< Visitor >::operator= ( ForwardingVisitor< Visitor > &&  )
default

◆ shouldIgnore()

template<typename Visitor >
template<typename VertexID >
bool ForwardingVisitor< Visitor >::shouldIgnore ( const VertexID &  v)
inline

Definition at line 129 of file GraphAlgorithmHelpers.h.

◆ shouldIgnoreEdge()

template<typename Visitor >
template<typename VertexID1 , typename VertexID2 >
bool ForwardingVisitor< Visitor >::shouldIgnoreEdge ( const VertexID1 &  v1,
const VertexID2 &  v2 
)
inline

Definition at line 132 of file GraphAlgorithmHelpers.h.

Member Data Documentation

◆ ref

template<typename Visitor >
VisitorPtr ForwardingVisitor< Visitor >::ref

Definition at line 113 of file GraphAlgorithmHelpers.h.


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