Source Code (Use browser search to find items of interest.)

Class Index

kdelibs'CString (./kdelibs/kjs/ustring.h:78)

  class CString {
  public:
    CString() : data(0L) { }
    CString(const char *c);
    CString(const CString &);

    ~CString();

    CString &append(const CString &);
    CString &operator=(const char *c);
    CString &operator=(const CString &);
    CString &operator+=(const CString &);

    int size() const;
    const char *c_str() const { return data; }
  private:
    char *data;
  };


kdelibs'CString::CString() (./kdelibs/kjs/ustring.cpp:42)

CString::CString(const char *c)
{
  data = new char[strlen(c)+1];
  strcpy(data, c);
}


kdelibs'CString::CString() (./kdelibs/kjs/ustring.cpp:48)

CString::CString(const CString &b)
{
  data = new char[b.size()+1];
  strcpy(data, b.c_str());
}


kdelibs'CString::~CString() (./kdelibs/kjs/ustring.cpp:54)

CString::~CString()
{
  delete [] data;
}


kdelibs'CString::append() (./kdelibs/kjs/ustring.cpp:59)

CString &CString::append(const CString &t)
{
  char *n;
  if (data) {
    n = new char[strlen(data)+t.size()+1];
    strcpy(n, data);
  } else {
    n = new char[t.size()+1];
    n[0] = '\0';
  }
  strcat(n, t.c_str());

  delete [] data;
  data = n;

  return *this;
}


kdelibs'CString::size() (./kdelibs/kjs/ustring.cpp:102)

int CString::size() const
{
  return strlen(data);
}