/// helper class to convert XalanDOMString types (UTF-16) to STL and C strings

/**
 *****************************************************************************
 **
 ** converts the XalanDOMString to a STL string, returns std::string& or
 ** const char*.  currently supports only the specific, limited scope needs
 ** of this project but can be very easily extended.
 **
 *****************************************************************************/

class XalanDomCString
{
public:

    /// default constructor
    XalanDomCString ();

    /// constructor, creates STL string from XalanDOMString
    XalanDomCString (const XalanDOMString&);

    /// destructor
    virtual ~XalanDomCString ();

    /// converts XalanDOMString to STL string and assigns it
    XalanDomCString& assign (const XalanDOMString& DomString);

    /// returns a reference to a STL (std::) string representation of the DOM string
    const string& stdString () const;

    /// returns a pointer to a const char* representation of the DOM string
    const char* c_str () const;

protected:
private:

    string _myStdString;            ///< STL string built from XalanDOMString
};


