FCT
载入中...
搜索中...
未找到
FCT::TokenGraph< Token, Value > 模板类 参考

#include <TokenGraph.h>

类 FCT::TokenGraph< Token, Value > 继承关系图:
Inheritance graph
FCT::TokenGraph< Token, Value > 的协作图:
Collaboration graph

struct  NodeInfo
class  NodeProbe
class  TokenGraphBFSVisitor
class  TokenGraphDFSVisitor

Public 成员函数

template<typename Visitor>
void visitBFS (Token startToken, Visitor visitor, bool includeStart=true) const
void addNode (NodeInfo info)
void addNode (Token token, Value value, std::vector< Token > predecessors, std::vector< Token > successors)
void removeNode (const Token &token)
void update ()
NodeProbe operator[] (Token token)
std::vector< Value > order () const
void updateNode (const NodeInfo &info)
std::vector< Value > computeOrder (std::function< bool(const Value &)> canVisit)
template<typename Visitor>
void visitDFSFromRoots (Visitor visitor) const
std::vector< Token > getActivePredecessors (const Token &token) const
std::vector< Token > getActiveSuccessors (const Token &token) const

Private 类型

using TokenGraphSavedBoostGraph
using BoostVertex = typename TokenGraphSavedBoostGraph::vertex_descriptor

Private 成员函数

void addVertex (Token token, int weak_ref=0)
void removeVertex (Token token)
bool hasVertex (Token token) const
void addWeakRef (Token token)
void removeWeakRef (Token token)
void addWeakRef (Token from, Token to)
void removeWeakRef (Token from, Token to)
bool hasEdge (Token from, Token to) const
bool hasNode (Token token) const
void addBoostEdge (Token from, Token to)
void removeBoostEdge (Token from, Token to)
void addEdge (Token node, Token rhs, bool isSuccessor)
bool isZeroRefVertex (Token token) const
void removeEdge (Token node, Token rhs, bool isSuccessor)

Private 属性

TokenGraphSavedBoostGraph m_graph
boost::bimap< boost::bimaps::unordered_set_of< Token >, BoostVertexm_vertex
std::unordered_map< Token, NodeInfom_nodeMap
std::vector< Value > m_order

详细描述

template<typename Token, typename Value>
class FCT::TokenGraph< Token, Value >

在文件 TokenGraph.h11 行定义.

成员类型定义说明

◆ BoostVertex

template<typename Token, typename Value>
using FCT::TokenGraph< Token, Value >::BoostVertex = typename TokenGraphSavedBoostGraph::vertex_descriptor
private

在文件 TokenGraph.h52 行定义.

◆ TokenGraphSavedBoostGraph

template<typename Token, typename Value>
using FCT::TokenGraph< Token, Value >::TokenGraphSavedBoostGraph
private
初始值:
boost::adjacency_list<
boost::listS,
boost::listS,
boost::bidirectionalS,
int,
int
>

在文件 TokenGraph.h44 行定义.

成员函数说明

◆ addBoostEdge()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addBoostEdge ( Token from,
Token to )
inlineprivate

在文件 TokenGraph.h129 行定义.

这是这个函数的调用关系图:

◆ addEdge()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addEdge ( Token node,
Token rhs,
bool isSuccessor )
inlineprivate

在文件 TokenGraph.h147 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ addNode() [1/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addNode ( NodeInfo info)
inline

在文件 TokenGraph.h259 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ addNode() [2/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addNode ( Token token,
Value value,
std::vector< Token > predecessors,
std::vector< Token > successors )
inline

在文件 TokenGraph.h271 行定义.

函数调用图:

◆ addVertex()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addVertex ( Token token,
int weak_ref = 0 )
inlineprivate

在文件 TokenGraph.h53 行定义.

这是这个函数的调用关系图:

◆ addWeakRef() [1/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addWeakRef ( Token from,
Token to )
inlineprivate

在文件 TokenGraph.h87 行定义.

◆ addWeakRef() [2/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::addWeakRef ( Token token)
inlineprivate

在文件 TokenGraph.h73 行定义.

这是这个函数的调用关系图:

◆ computeOrder()

template<typename Token, typename Value>
std::vector< Value > FCT::TokenGraph< Token, Value >::computeOrder ( std::function< bool(const Value &)> canVisit)
inline

在文件 TokenGraph.h462 行定义.

函数调用图:

◆ getActivePredecessors()

template<typename Token, typename Value>
std::vector< Token > FCT::TokenGraph< Token, Value >::getActivePredecessors ( const Token & token) const
inline

在文件 TokenGraph.h546 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ getActiveSuccessors()

template<typename Token, typename Value>
std::vector< Token > FCT::TokenGraph< Token, Value >::getActiveSuccessors ( const Token & token) const
inline

在文件 TokenGraph.h576 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ hasEdge()

template<typename Token, typename Value>
bool FCT::TokenGraph< Token, Value >::hasEdge ( Token from,
Token to ) const
inlineprivate

在文件 TokenGraph.h114 行定义.

这是这个函数的调用关系图:

◆ hasNode()

template<typename Token, typename Value>
bool FCT::TokenGraph< Token, Value >::hasNode ( Token token) const
inlineprivate

在文件 TokenGraph.h125 行定义.

这是这个函数的调用关系图:

◆ hasVertex()

template<typename Token, typename Value>
bool FCT::TokenGraph< Token, Value >::hasVertex ( Token token) const
inlineprivate

在文件 TokenGraph.h69 行定义.

这是这个函数的调用关系图:

◆ isZeroRefVertex()

template<typename Token, typename Value>
bool FCT::TokenGraph< Token, Value >::isZeroRefVertex ( Token token) const
inlineprivate

在文件 TokenGraph.h206 行定义.

这是这个函数的调用关系图:

◆ operator[]()

template<typename Token, typename Value>
NodeProbe FCT::TokenGraph< Token, Value >::operator[] ( Token token)
inline

在文件 TokenGraph.h449 行定义.

◆ order()

template<typename Token, typename Value>
std::vector< Value > FCT::TokenGraph< Token, Value >::order ( ) const
inline

在文件 TokenGraph.h453 行定义.

◆ removeBoostEdge()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeBoostEdge ( Token from,
Token to )
inlineprivate

在文件 TokenGraph.h133 行定义.

这是这个函数的调用关系图:

◆ removeEdge()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeEdge ( Token node,
Token rhs,
bool isSuccessor )
inlineprivate

在文件 TokenGraph.h212 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ removeNode()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeNode ( const Token & token)
inline

在文件 TokenGraph.h279 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ removeVertex()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeVertex ( Token token)
inlineprivate

在文件 TokenGraph.h60 行定义.

这是这个函数的调用关系图:

◆ removeWeakRef() [1/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeWeakRef ( Token from,
Token to )
inlineprivate

在文件 TokenGraph.h99 行定义.

函数调用图:

◆ removeWeakRef() [2/2]

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::removeWeakRef ( Token token)
inlineprivate

在文件 TokenGraph.h80 行定义.

这是这个函数的调用关系图:

◆ update()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::update ( )
inline

在文件 TokenGraph.h295 行定义.

函数调用图:

◆ updateNode()

template<typename Token, typename Value>
void FCT::TokenGraph< Token, Value >::updateNode ( const NodeInfo & info)
inline

在文件 TokenGraph.h457 行定义.

函数调用图:

◆ visitBFS()

template<typename Token, typename Value>
template<typename Visitor>
void FCT::TokenGraph< Token, Value >::visitBFS ( Token startToken,
Visitor visitor,
bool includeStart = true ) const
inline
模板参数
Visitor
参数
startToken
visitor参数为 Value
includeStart是否包含起点自身

在文件 TokenGraph.h244 行定义.

◆ visitDFSFromRoots()

template<typename Token, typename Value>
template<typename Visitor>
void FCT::TokenGraph< Token, Value >::visitDFSFromRoots ( Visitor visitor) const
inline

在文件 TokenGraph.h523 行定义.

函数调用图:

类成员变量说明

◆ m_graph

template<typename Token, typename Value>
TokenGraphSavedBoostGraph FCT::TokenGraph< Token, Value >::m_graph
private

在文件 TokenGraph.h607 行定义.

◆ m_nodeMap

template<typename Token, typename Value>
std::unordered_map<Token, NodeInfo> FCT::TokenGraph< Token, Value >::m_nodeMap
private

在文件 TokenGraph.h613 行定义.

◆ m_order

template<typename Token, typename Value>
std::vector<Value> FCT::TokenGraph< Token, Value >::m_order
private

在文件 TokenGraph.h614 行定义.

◆ m_vertex

template<typename Token, typename Value>
boost::bimap< boost::bimaps::unordered_set_of<Token>, BoostVertex > FCT::TokenGraph< Token, Value >::m_vertex
private

在文件 TokenGraph.h611 行定义.


该类的文档由以下文件生成: