22namespace LinguisticProcessing {
52 m_current.push_back(make_pair(current,out_edges(current,*graph)));
59 if (m_current.back().second.first ==
60 m_current.back().second.second) {
64 next=target(*(m_current.back().second.first),*graph);
65 m_current.back().second.first++;
74 m_current.push_back(make_pair(current,in_edges(current,*graph)));
81 if (m_current.back().second.first ==
82 m_current.back().second.second) {
86 next=source(*(m_current.back().second.first),*graph);
87 m_current.back().second.first++;
95 os << x.first <<
":(" <<
") ";
101 for (
auto it = x.m_current.begin(); it != x.m_current.end(); it++)
102 output(os, *it, graph);;
108 os << x.first <<
":(" << target(*(x.second.first),*graph) <<
"-" << target(*(x.second.second),*graph) <<
") ";
114 for (
auto it = x.m_current.begin(); it != x.m_current.end(); it++)
115 output(os, *it, graph);
121 const ForwardSearch *pForward =
dynamic_cast<const ForwardSearch*
>(x);
122 if (pForward != NULL) {
123 output(os, *pForward, graph);
127 const BackwardSearch *pBackward =
dynamic_cast<const BackwardSearch*
>(x);
128 if (pBackward != NULL)
129 output(os, *pBackward, graph);
#define LIMA_AUTOMATON_EXPORT
#define LIMA_EXCEPTION(X)
This macro writes the message X to a previously configured error stream before throwing a LimaExcepti...
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, LinguisticVertexProperties > LinguisticGraph
Property to identify the chains in the graph.
SearchGraph * createNew() const override
bool getNextVertex(const LinguisticGraph *graph, LinguisticGraphVertex &next) override
void findNextVertices(const LinguisticGraph *graph, const LinguisticGraphVertex ¤t) override
LinguisticGraphVertex endOfGraph(const LinguisticAnalysisStructure::AnalysisGraph &graph) override
std::pair< LinguisticGraphVertex, std::pair< LinguisticGraphInEdgeIt, LinguisticGraphInEdgeIt > > Vertex2EdgePair
void findNextVertices(const LinguisticGraph *graph, const LinguisticGraphVertex ¤t) override
SearchGraph * createNew() const override
std::pair< LinguisticGraphVertex, std::pair< LinguisticGraphOutEdgeIt, LinguisticGraphOutEdgeIt > > Vertex2EdgePair
bool getNextVertex(const LinguisticGraph *graph, LinguisticGraphVertex &next) override
LinguisticGraphVertex endOfGraph(const LinguisticAnalysisStructure::AnalysisGraph &graph) override
An AnalysisData containing a LinguisticGraph with a language and an id.
const LinguisticGraphVertex & lastVertex(void) const
Returns the last vertex of the graph.
const LinguisticGraphVertex & firstVertex(void) const
Returns the first vertex of the graph.