// Filename: dtoolbase_cc.h // Created by: drose (13Sep00) // //////////////////////////////////////////////////////////////////// #ifndef PANDABASE_CC_H #define PANDABASE_CC_H // This file should never be included directly; it's intended to be // included only from dtoolbase.h. Include that file instead. #ifdef CPPPARSER #include #include using namespace std; #define INLINE inline #define TYPENAME typename #define EXPORT_TEMPLATE_CLASS(expcl, exptp, classname) // We define the macro PUBLISHED to mark C++ methods that are to be // published via interrogate to scripting languages. However, if // we're not running the interrogate pass (CPPPARSER isn't defined), // this maps to public. #define PUBLISHED __published #else // CPPPARSER #ifdef HAVE_IOSTREAM #include #include #include #else #include #include #include #endif #ifdef HAVE_SSTREAM #include #else #include "fakestringstream.h" #endif #include #ifdef HAVE_NAMESPACE using namespace std; #endif #define INLINE inline #define TYPENAME typename #ifdef WIN32_VC // This macro must be used to export an instantiated template class // from a DLL. If the template class name itself contains commas, it // may be necessary to first define a macro for the class name, to // allow proper macro parameter passing. #define EXPORT_TEMPLATE_CLASS(expcl, exptp, classname) \ exptp template class expcl classname; #else #define EXPORT_TEMPLATE_CLASS(expcl, exptp, classname) #endif // We define the macro PUBLISHED to mark C++ methods that are to be // published via interrogate to scripting languages. However, if // we're not running the interrogate pass (CPPPARSER isn't defined), // this maps to public. #define PUBLISHED public #endif // CPPPARSER #endif