53#ifndef GUM_PARTIAL_ORDERED_ELIMINATION_SEQUENCE_STRATEGY_H
54#define GUM_PARTIAL_ORDERED_ELIMINATION_SEQUENCE_STRATEGY_H
130 void clear()
override;
EliminationSequenceStrategy()
default constructor
UndiGraph * graph() const noexcept
returns the current graph
Generic doubly linked lists.
ListConstIterator< Val > const_iterator
Types for STL compliance.
Base class for all elimination sequence algorithm that impose a given partial ordering on the nodes e...
PartialOrderedEliminationSequenceStrategy * newFactory() const override=0
creates a new elimination sequence of the same type as the current object, but this sequence contains...
bool isPartialOrderNeeded_(const List< NodeSet > *subsets) const
indicate whether a partial ordering is compatible with the current graph
bool partial_order_needed_
indicate whether a new partial ordering is necessary for the elimination
const List< NodeSet > * subsets_
the subsets constituting the partial ordering
bool setGraph(UndiGraph *graph, const NodeProperty< Size > *dom_sizes) override
sets a new graph to be triangulated
~PartialOrderedEliminationSequenceStrategy() override
destructor
const List< NodeSet > * partialOrder() const noexcept
returns the current partial ordering
void clear() override
clears the sequence (to prepare, for instance, a new elimination sequence)
List< NodeSet >::const_iterator subset_iter_
the iterator indicating which is the current subset on which we work
PartialOrderedEliminationSequenceStrategy * copyFactory() const override=0
virtual copy constructor
bool isPartialOrderNeeded() const noexcept
indicates if a new partial ordering is needed
PartialOrderedEliminationSequenceStrategy()
default constructor (uses an empty graph)
virtual bool setPartialOrder(const List< NodeSet > *subsets)
sets a new partial ordering constraint on the elimination sequence
NodeSet nodeset_
the nodes which can be currently eliminated
Base class for undirected graphs.
Base Class for all elimination sequence algorithms used by triangulations.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
Set< NodeId > NodeSet
Some typdefs and define for shortcuts ...
gum is the global namespace for all aGrUM entities
Base class for all elimination sequence algorithm that impose a given partial ordering on the nodes e...