#ifndef __XIOS_GENERATE_INTERFACE_HPP__ #define __XIOS_GENERATE_INTERFACE_HPP__ #include "xios_spl.hpp" namespace xios { class CInterface { public: template static void AttributeCInterface(ostream& oss,const string& className,const string& name) ; static void AttributeIsDefinedCInterface(ostream& oss, const string& className,const string& name); template static void AttributeFortran2003Interface(ostream& oss,const string& className,const string& name) ; static void AttributeIsDefinedFortran2003Interface(ostream& oss,const string& className,const string& name); template static void AttributeFortranInterfaceDeclaration(ostream& oss,const string& className,const string& name) ; template static void AttributeFortranInterfaceGetDeclaration(ostream& oss,const string& className,const string& name) ; static void AttributeFortranInterfaceIsDefinedDeclaration(ostream& oss,const string& className,const string& name) ; template static void AttributeFortranInterfaceBody(ostream& oss,const string& className,const string& name) ; template static void AttributeFortranInterfaceGetBody(ostream& oss,const string& className,const string& name) ; static void AttributeFortranInterfaceIsDefinedBody(ostream& oss,const string& className,const string& name) ; template static string getStrFortranType(void) ; template static string getStrFortranKind(void) ; template static string getStrFortranKindC(void) ; template static bool matchingTypeCFortran(void) ; }; /* template<> string CInterface::getStrFortranType(void) {return string("INTEGER") ;} template<> string CInterface::getStrFortranType(void) {return string("LOGICAL") ;} template<> string CInterface::getStrFortranType(void) {return string("REAL") ;} template<> string CInterface::getStrFortranType(void) {return string("REAL") ;} template<> string CInterface::getStrFortranKind(void) {return string("") ;} template<> string CInterface::getStrFortranKind(void) {return string("") ;} template<> string CInterface::getStrFortranKind(void) {return string("(KIND=8)") ;} template<> string CInterface::getStrFortranKind(void) {return string("(KIND=4)") ;} template<> string CInterface::getStrFortranKindC(void) {return string("(KIND=C_INT)") ;} template<> string CInterface::getStrFortranKindC(void) {return string("(KIND=C_BOOL)") ;} template<> string CInterface::getStrFortranKindC(void) {return string("(KIND=C_DOUBLE)") ;} template<> string CInterface::getStrFortranKindC(void) {return string("(KIND=C_FLOAT)") ;} template<> bool CInterface::matchingTypeCFortran(void) { return true ; } template<> bool CInterface::matchingTypeCFortran(void) { return false ;} template<> bool CInterface::matchingTypeCFortran(void) { return true; } template<> bool CInterface::matchingTypeCFortran(void) { return true; } */ } #endif