OGDF-1.0.0.0: csrc/OGDFEdgeElement.h
#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_t, NodeElement>((NodeElement*)((TYPECASTMETHOD(Type, edgeElement_source, EdgeElement))(p))->source());\
}\
\
NodeElement_p Type##_edgeElement_target ( Type##_p p ) {\
return from_nonconst_to_nonconst<NodeElement_t, NodeElement>((NodeElement*)((TYPECASTMETHOD(Type, edgeElement_target, EdgeElement))(p))->target());\
}\
\
Type##_p Type##_edgeElement_succ ( Type##_p p ) {\
return from_nonconst_to_nonconst<Type##_t, Type>((Type*)((TYPECASTMETHOD(Type, edgeElement_succ, EdgeElement))(p))->succ());\
}\
\
Type##_p Type##_edgeElement_pred ( Type##_p p ) {\
return from_nonconst_to_nonconst<Type##_t, Type>((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