Click or drag to resize

LGSPEdge Class

Class implementing edges in the libGr search plan backend
Inheritance Hierarchy
SystemObject
  de.unika.ipd.grGen.lgspLGSPEdge
    de.unika.ipd.grGen.lgspLGSPEdgeHead

Namespace: de.unika.ipd.grGen.lgsp
Assembly: lgspBackend (in lgspBackend.dll) Version: GrGen.NET 7.1
Syntax
C#
public abstract class LGSPEdge : IEdge, 
	IGraphElement, IAttributeBearer, ITyped, IDeepEqualityComparer, ICallable

The LGSPEdge type exposes the following members.

Constructors
 NameDescription
Protected methodLGSPEdge Instantiates an LGSPEdge object.
Top
Properties
 NameDescription
Public propertyItem Indexer that gives access to the attributes of the graph element.
Public propertyReplacedByEdge The edge which replaced this edge (Valid is false in this case) or null, if this edge has not been replaced or is still a valid member of a graph.
Public propertyReplacedByElement The element which replaced this element (Valid is false in this case) or null, if this element has not been replaced or is still a valid member of a graph.
Public propertySource The source node of the edge.
Public propertyTarget The target node of the edge.
Public propertyType The EdgeType of the edge.
Public propertyValid This is true, if this edge is a valid graph element, i.e. it is part of a graph.
Top
Methods
 NameDescription
Public methodApplyFunctionMethod Executes the function method given by its name. Throws an exception if the method does not exists or the parameters are of wrong types.
Public methodApplyProcedureMethod Executes the procedure method given by its name. Throws an exception if the method does not exists or the parameters are of wrong types.
Public methodClone Creates a shallow clone of this edge. All attributes will be transfered to the new edge. The edge will not be associated to a graph, yet. So it will not have any assigned variables.
Public methodCopy Creates a deep copy of this edge (i.e. (transient) class objects will be replicated). All attributes will be transfered to the new edge. The edge will not be associated to a graph, yet. So it will not have any assigned variables.
Public methodGetAttribute Returns the graph element attribute with the given attribute name. If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
Public methodGetUniqueId Gets the unique id of the edge. Only available if unique ids for nodes and edges were declared in the model (or implicitely switched on by parallelization or the declaration of some index).
Public methodInstanceOf Returns true, if the typed object is compatible to the given type.
Public methodIsDeeplyEqual Returns whether this and that are deeply equal, which means the scalar attributes are equal, the container attributes are memberwise deeply equal, and object attributes are deeply equal. (If types are unequal the result is false.) Visited objects are/have to be stored in the visited objects dictionary in order to detect shortcuts and cycles.
Public methodOpposite Retrieves the other incident node of this edge.
Public methodRecycle Recycles this edge. This may pool the edge or just ignore it.
Public methodResetAllAttributes Resets all graph element attributes to their initial values.
Public methodSetAttribute Sets the graph element attribute with the given attribute name to the given value. If the graph element type doesn't have an attribute with this name, a NullReferenceException is thrown.
Public methodSetSourceAndTarget Sets source and target to the LGSPEdge object instantiated before with source and target being null.
Public methodToString Returns the name of the type of this edge.
(Overrides ObjectToString)
Top
Fields
 NameDescription
Public fieldlgspFlags contains some booleans coded as bitvector
Public fieldlgspInNext next edge in the incoming list of the target node containing all of its incoming edges
Public fieldlgspInPrev previous edge in the incoming list of the target node containing all of its incoming edges
Public fieldlgspOutNext next edge in the outgoing list of the source node containing all of its outgoing edges
Public fieldlgspOutPrev previous edge in the outgoing list of the source node containing all of its outgoing edges
Public fieldlgspSource source node of this edge
Public fieldlgspTarget target node of this edge
Public fieldlgspType The EdgeType of the edge.
Public fieldlgspTypeNext Next edge in the list containing all the edges of one type. See comment for lgspTypePrev (this edge has been retyped if typeNext is not null but typePrev is null).
Public fieldlgspTypePrev Previous edge in the list containing all the edges of one type. The edge is not part of a graph, iff typePrev is null. If typePrev is null and typeNext is not null, this edge has been retyped and typeNext points to the new edge. These special cases are neccessary to handle the following situations: "delete node + return edge", "hom + delete + return", "hom + retype + return", "hom + retype + delete", "hom + retype + delete + return".
Public fielduniqueId contains a unique id if uniqueness was declared
Top
See Also