Listing 1: StringTcl CABLE configuration
// stringtcl_config.cxx // CABLE input file to build StringTcl package. // Include string class's header. #include <string> // The symbol "CABLE_CONFIGURATION" is defined only when CABLE is // reading this file. Place the CABLE-specific code inside this // section so it cannot be seen by the compiler. #ifdef CABLE_CONFIGURATION namespace _cable_ { // Specify package name. Group configuration allows multiple // configuration files to define wrappers for a single package. const char* const group="StringTcl1"; const char* const package="StringTcl"; const char* const groups[]={"StringTcl1"}; namespace wrappers { // Tell CABLE to wrap the "std::string" class. We want the class // wrapper to be called "stdstring". typedef std::string stdstring; } } // Make sure that std::string is a complete type so that all the // methods are available. void _cable_instantiate() { sizeof(_cable_::wrappers::stdstring); } #endif