#ifdef __cplusplus extern "C" { #endif #pragma once #include "OGDFType.h" #include "STDDeletable.h" #include "stdcxxType.h" #define EDGEELEMENT_DECL_VIRT(Type) \ #define EDGEELEMENT_DECL_NONVIRT(Type) \ int Type##_edgeElement_index ( Type##_p p );\ NodeElement_p Type##_edgeElement_source ( Type##_p p );\ NodeElement_p Type##_edgeElement_target ( Type##_p p );\ Type##_p Type##_edgeElement_succ ( Type##_p p );\ Type##_p Type##_edgeElement_pred ( Type##_p p ); #define EDGEELEMENT_DECL_ACCESSOR(Type) \ #define EDGEELEMENT_DEF_VIRT(Type) \ #define EDGEELEMENT_DEF_NONVIRT(Type) \ int Type##_edgeElement_index ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, edgeElement_index, EdgeElement))(p))->index();\ }\ \ NodeElement_p Type##_edgeElement_source ( Type##_p p ) {\ return from_nonconst_to_nonconst((NodeElement*)((TYPECASTMETHOD(Type, edgeElement_source, EdgeElement))(p))->source());\ }\ \ NodeElement_p Type##_edgeElement_target ( Type##_p p ) {\ return from_nonconst_to_nonconst((NodeElement*)((TYPECASTMETHOD(Type, edgeElement_target, EdgeElement))(p))->target());\ }\ \ Type##_p Type##_edgeElement_succ ( Type##_p p ) {\ return from_nonconst_to_nonconst((Type*)((TYPECASTMETHOD(Type, edgeElement_succ, EdgeElement))(p))->succ());\ }\ \ Type##_p Type##_edgeElement_pred ( Type##_p p ) {\ return from_nonconst_to_nonconst((Type*)((TYPECASTMETHOD(Type, edgeElement_pred, EdgeElement))(p))->pred());\ } #define EDGEELEMENT_DEF_ACCESSOR(Type) \ DELETABLE_DECL_VIRT(EdgeElement) EDGEELEMENT_DECL_VIRT(EdgeElement) EDGEELEMENT_DECL_NONVIRT(EdgeElement) EDGEELEMENT_DECL_ACCESSOR(EdgeElement) #ifdef __cplusplus } #endif