LEdgeInfo

Description Data associated to edges of a graph
Header file LEdgeInfo.h
Author Stefano Emiliozzi, Camil Demetrescu
Created Jan 17, 2003
Last updated Sep 26, 2003

 

Contents


Introduction

The component LEdgeInfo is used to associate data to edges of a graph; each graph is represented using component LGraph and can have multiple LEdgeInfo associated, but a LEdgeInfo can be associated only to one LGraph.


Interface

Constants

LEdgeInfo_ID
LEdgeInfo_BASE_TYPE_MISMATCH

Types

LEdgeInfo
void (*LEdgeInfo_THandler)(LEdgeInfo* This, LGraph_TEdge* inEdge)

Functions

LEdgeInfo*  LEdgeInfo_New                   (LGraph* inGraph, LType_TType inType)
LEdgeInfo* LEdgeInfo_NewCustom (LGraph* inGraph, ui4 inItemSize)
void LEdgeInfo_Delete (LEdgeInfo** ThisA)
void LEdgeInfo_AssignItemAt (LEdgeInfo* This, LGraph_TEdge* inEdge, const void* inItem)
Bool LEdgeInfo_FetchItemAt (LEdgeInfo* This, LGraph_TEdge* inEdge, void* outItem)
void LEdgeInfo_InstallDelEdgeHandler (LEdgeInfo* This, LEdgeInfo_THandler inDealloc)
void LEdgeInfo_InstallNewEdgeHandler (LEdgeInfo* This, LEdgeInfo_THandler inAlloc)
LType_TType LEdgeInfo_GetBaseType (LEdgeInfo* This)
ui4 LEdgeInfo_GetUsedMem (LEdgeInfo* This)

Macros

LEdgeInfo_UI1At     (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_UI2At     (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_UI4At     (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_I1At      (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_I2At      (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_I4At      (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_F4At      (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_F8At      (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_BoolAt    (LEdgeInfo* This, LGraph_TEdge* inEdge)
LEdgeInfo_PointerAt (LEdgeInfo* This, LGraph_TEdge* inEdge)


API Reference

Macro Arguments Description
UI1At
LEdgeInfo* This, LGraph_TEdge* inEdge ui1 lvalue associated to edge inEdge
UI2At
LEdgeInfo* This, LGraph_TEdge* inEdge ui2 lvalue associated to edge inEdge
UI4At
LEdgeInfo* This, LGraph_TEdge* inEdge ui4 lvalue associated to edge inEdge
I1At
LEdgeInfo* This, LGraph_TEdge* inEdge i1 lvalue associated to edge inEdge
I2At
LEdgeInfo* This, LGraph_TEdge* inEdge i2 lvalue associated to edge inEdge
I4At
LEdgeInfo* This, LGraph_TEdge* inEdge i4 lvalue associated to edge inEdge
F4At
LEdgeInfo* This, LGraph_TEdge* inEdge f4 lvalue associated to edge inEdge
F8At
LEdgeInfo* This, LGraph_TEdge* inEdge f8 lvalue associated to edge inEdge
BoolAt
LEdgeInfo* This, LGraph_TEdge* inEdge Bool lvalue associated to edge inEdge
PointerAt
LEdgeInfo* This, LGraph_TEdge* inEdge void* lvalue associated to edge inEdge

Function Arguments Description Returns Throws
New
LGraph*      inGraph
LType_TType* inType
Creates an object containing an edgeinfo associated to inGraph. The base type of the information is given by the value of inType. The constructor makes room for all the edges of the graph. Caller is responsible of dellocating the created object using LEdgeInfo_Delete.

LEdgeInfo*

pointer to the newly created object

-
NewCustom
LGraph* inGraph
ui4     inItemSize
Creates an object containing an edgeinfo associated to inGraph. The base type size of the information is given by the value of inItemSize. The constructor makes room for all the edges of the graph. Caller is responsible of dellocating the created object using LEdgeInfo_Delete.

LEdgeInfo*

pointer to the newly created object

-
Delete LEdgeInfo** ThisA Releases object *ThisA. *ThisA is set to NULL. void -
LEdgeInfo_ItemAt
LEdgeInfo*    This
LGraph_TEdge* inEdge
Returns a pointer (that has to be typecasted) to the info associated to the edge inEdge void* -
AssignItemAt
LEdgeInfo*    This
LGraph_TEdge* inEdge
const void*   inItem
Assigns the data pointed by inItem to the edge inEdge void -
FetchItemAt
LEdgeInfo*    This
LGraph_TEdge* inEdge
void*         outItem
Puts the data associated to edge inEdge to the memory pointed by outItem. It returns TRUE if the data in outItem are valid, FALSE otherwise Bool -
InstallDelEdgeHandler
LEdgeInfo*         This
LEdgeInfo_THandler inDealloc
Installs a handler that is executed whenever an edge is removed from the graph associated with This. The handler is called before removing the edge. - -
InstallNewEdgeHandler
LEdgeInfo*         This
LEdgeInfo_THandler inAlloc
Installs a handler that is executed whenever a new edge is added to the graph associated with This. The handler is called after the edge has been inserted. - -
GetBaseType LEdgeInfo* This Returns the base type of the LEdgeInfo LType_TType -
GetUsedMem LEdgeInfo* This Returns the total memory usage of the object. ui4 -


Revision history