| | | | | |

String Implementation: Data Accessors

  const char* String::Cstr() const
  {
    return data_;
  }

  size_t String::Size() const
  {
    return size_;
  }

  size_t String::Length () const
  {
    if (data_ != 0)
      return strlen (data_);
    return 0;
  }

  char String::Element(size_t n) const
  {
    if ((size_ == 0) || (n >= size_))
      return '\0';
    else
      return data_[n];
  }

  void String::Dump (std::ostream& os) const
  {
    os << "String::Size()         = " << Size() << '\n'
       << "String::Length()       = " << Length() << '\n'
       << "c-string operator <<() : " << data_ << '\n'
       << "String:: operator <<() : " << *this << '\n';
  }

| | Top of Page | 3. C Strings, Proper Type, and String Objects - 16 of 17