5.5.2. edge_handler.hpp¶
Full path: graph_canon/edge_handler/edge_handler.hpp
-
template<typename
T
>
conceptEdgeHandlerCreator
¶ An edge handler creator is an object that from a given integer type instantiates the actual edge handler object.
Notation-
type
SizeType
¶ An integer type.
Associated Types-
using
EdgeHandlerT
= typename T::template type<SizeType>¶ A type satisfying the
EdgeHandler
concept.
Valid ExpressionsT::make<SizeType>()
: return an object of typeEdgeHandlerT
.-
type
-
template<typename
T
>
conceptEdgeHandler
¶ An edge handler is an object that implements procedures related to labels on edges. If no labels are present, the handler creator
edge_handler_all_equal
can be used.Notation
-
type
State
¶ A specialization of
canon_state
.
Valid Expressionsedge_handler.initialize(state)
. Is executed in the beginning of canonicalization.edge_handler.compare(state, e_left, e_right)
must compare the two edges (e.g., their labels) and return an integer representing their order:The function is at least used when creating ordered graphs in the leaves of the search tree, but may also be used by visitors. Note that the function should not compare the end-points, only auxiliary data.
Todo
List requirements from the WL-1 refiner.
-
type