53#ifndef GUM_PARTIAL_ORDERED_ELIMINATION_SEQUENCE_STRATEGY_H
54#define GUM_PARTIAL_ORDERED_ELIMINATION_SEQUENCE_STRATEGY_H
130 virtual void clear();
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...
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
virtual PartialOrderedEliminationSequenceStrategy * copyFactory() const =0
virtual copy constructor
virtual bool setGraph(UndiGraph *graph, const NodeProperty< Size > *dom_sizes)
sets a new graph to be triangulated
virtual ~PartialOrderedEliminationSequenceStrategy()
destructor
const List< NodeSet > * subsets_
the subsets constituting the partial ordering
const List< NodeSet > * partialOrder() const noexcept
returns the current partial ordering
virtual PartialOrderedEliminationSequenceStrategy * newFactory() const =0
creates a new elimination sequence of the same type as the current object, but this sequence contains...
List< NodeSet >::const_iterator subset_iter_
the iterator indicating which is the current subset on which we work
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
virtual void clear()
clears the sequence (to prepare, for instance, a new elimination sequence)
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...