21#ifndef __EDELIB_STRING_H__
22#define __EDELIB_STRING_H__
24#include "edelib-global.h"
85 typedef unsigned int size_type;
96 static StringData null_data;
99 void init(size_type len, size_type cap);
228 size_type
find(
const char* str, size_type offset)
const;
238 size_type
find(
char ch, size_type offset)
const;
243 size_type
find(
const char* str)
const;
279 const char*
c_str(
void) {
return sdata->chars; }
282 const char*
c_str(
void)
const {
return sdata->chars; }
289 const char*
data(
void)
const {
return sdata->chars; }
292 size_type
length(
void)
const {
return sdata->length; }
295 size_type
capacity(
void)
const {
return sdata->capacity; }
298 bool empty(
void)
const {
return length() == 0; }
A (relatively simple) string implementation.
Definition String.h:82
String & append(size_type num, const char &ch)
String & operator=(const String &str)
bool empty(void) const
Definition String.h:298
bool operator<(const String &str1, const char *str2)
Definition String.h:377
bool operator>(const String &str1, const char *str2)
Definition String.h:365
void printf(const char *fmt,...)
String & operator+=(const String &str)
bool operator<=(const char *str1, const String &str2)
Definition String.h:419
char & operator[](size_type index)
char operator[](size_type index) const
bool operator==(const String &str1, const String &str2)
Definition String.h:425
bool operator==(const char *str1, const String &str2)
Definition String.h:389
bool operator>(const String &str1, const String &str2)
Definition String.h:438
String & append(const char *str, size_type len)
String(const String &str)
String & append(const char *str)
bool operator<=(const String &str1, const char *str2)
Definition String.h:383
String & assign(const char *str)
bool operator>(const char *str1, const String &str2)
Definition String.h:401
bool operator!=(const String &str1, const String &str2)
Definition String.h:432
String & assign(const char *str, size_type len)
bool operator<(const String &str1, const String &str2)
Definition String.h:450
String operator+(const char *s1, const String &s2)
bool operator<=(const String &str1, const String &str2)
Definition String.h:456
size_type find(char ch, size_type offset) const
const char * c_str(void)
Definition String.h:279
const char * data(void) const
Definition String.h:289
String operator+(const String &s1, const char *s2)
String & replace(char c1, char c2)
String & append(const String &str)
String & assign(const String &str)
String & operator+=(const char *str)
bool operator>=(const String &str1, const String &str2)
Definition String.h:444
String & operator+=(const char &ch)
String operator+(const String &s1, const String &s2)
void reserve(size_type len)
bool operator!=(const String &str1, const char *str2)
Definition String.h:359
size_type capacity(void) const
Definition String.h:295
String substr(size_type index, size_type num=npos) const
static const size_type npos
Definition String.h:111
size_type length(void) const
Definition String.h:292
size_type find(const char *str, size_type offset) const
bool operator!=(const char *str1, const String &str2)
Definition String.h:395
size_type find(const char *str) const
bool operator>=(const String &str1, const char *str2)
Definition String.h:371
bool operator==(const String &str1, const char *str2)
Definition String.h:353
bool operator<(const char *str1, const String &str2)
Definition String.h:413
bool operator>=(const char *str1, const String &str2)
Definition String.h:407
String & operator=(const char *str)
const char * c_str(void) const
Definition String.h:282