#ifdef __cplusplus extern "C" { #endif #pragma once #include "OGDFType.h" #include "STDDeletable.h" #include "stdcxxType.h" #define NODEELEMENT_DECL_VIRT(Type) \ #define NODEELEMENT_DECL_NONVIRT(Type) \ int Type##_nodeElement_index ( Type##_p p );\ int Type##_nodeElement_indeg ( Type##_p p );\ int Type##_nodeElement_outdeg ( Type##_p p );\ int Type##_nodeElement_degree ( Type##_p p );\ Type##_p Type##_nodeElement_succ ( Type##_p p );\ Type##_p Type##_nodeElement_pred ( Type##_p p ); #define NODEELEMENT_DECL_ACCESSOR(Type) \ #define NODEELEMENT_DEF_VIRT(Type) \ #define NODEELEMENT_DEF_NONVIRT(Type) \ int Type##_nodeElement_index ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, nodeElement_index, NodeElement))(p))->index();\ }\ \ int Type##_nodeElement_indeg ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, nodeElement_indeg, NodeElement))(p))->indeg();\ }\ \ int Type##_nodeElement_outdeg ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, nodeElement_outdeg, NodeElement))(p))->outdeg();\ }\ \ int Type##_nodeElement_degree ( Type##_p p ) {\ return ((TYPECASTMETHOD(Type, nodeElement_degree, NodeElement))(p))->degree();\ }\ \ Type##_p Type##_nodeElement_succ ( Type##_p p ) {\ return from_nonconst_to_nonconst((Type*)((TYPECASTMETHOD(Type, nodeElement_succ, NodeElement))(p))->succ());\ }\ \ Type##_p Type##_nodeElement_pred ( Type##_p p ) {\ return from_nonconst_to_nonconst((Type*)((TYPECASTMETHOD(Type, nodeElement_pred, NodeElement))(p))->pred());\ } #define NODEELEMENT_DEF_ACCESSOR(Type) \ DELETABLE_DECL_VIRT(NodeElement) NODEELEMENT_DECL_VIRT(NodeElement) NODEELEMENT_DECL_NONVIRT(NodeElement) NODEELEMENT_DECL_ACCESSOR(NodeElement) #ifdef __cplusplus } #endif