
#ifdef __cplusplus
extern "C" {
#endif

#pragma once


#include "OGDFType.h"

#include "STDDeletable.h"

#include "stdcxxType.h"


#define GRAPHIO_DECL_VIRT(Type) \



#define GRAPHIO_DECL_NONVIRT(Type) \
bool Type##_graphIO_read ( GraphAttributes_p ga, Graph_p g, string_p filename );\
bool Type##_graphIO_write ( GraphAttributes_p ga, string_p filename );\
bool Type##_graphIO_drawSVG ( GraphAttributes_p ga, string_p filename );


#define GRAPHIO_DECL_ACCESSOR(Type) \



#define GRAPHIO_DEF_VIRT(Type) \



#define GRAPHIO_DEF_NONVIRT(Type) \
bool Type##_graphIO_read ( GraphAttributes_p ga, Graph_p g, string_p filename ) {\
return GraphIO::read(from_nonconstref_to_nonconstref<GraphAttributes, GraphAttributes_t>(*(ga)), from_nonconstref_to_nonconstref<Graph, Graph_t>(*(g)), from_nonconstref_to_nonconstref<string, string_t>(*(filename)));\
}\
\
bool Type##_graphIO_write ( GraphAttributes_p ga, string_p filename ) {\
return GraphIO::write(from_nonconstref_to_nonconstref<GraphAttributes, GraphAttributes_t>(*(ga)), from_nonconstref_to_nonconstref<string, string_t>(*(filename)));\
}\
\
bool Type##_graphIO_drawSVG ( GraphAttributes_p ga, string_p filename ) {\
return GraphIO::drawSVG(from_nonconstref_to_nonconstref<GraphAttributes, GraphAttributes_t>(*(ga)), from_nonconstref_to_nonconstref<string, string_t>(*(filename)));\
}


#define GRAPHIO_DEF_ACCESSOR(Type) \



DELETABLE_DECL_VIRT(GraphIO)
GRAPHIO_DECL_VIRT(GraphIO)
GRAPHIO_DECL_NONVIRT(GraphIO)
GRAPHIO_DECL_ACCESSOR(GraphIO)

#ifdef __cplusplus
}
#endif

