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