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; }
bool operator>=(const String &str1, const String &str2)
Definition: String.h:444
String operator+(const String &s1, const String &s2)
bool operator>(const char *str1, const String &str2)
Definition: String.h:401
bool operator<=(const char *str1, const String &str2)
Definition: String.h:419
bool operator==(const String &str1, const String &str2)
Definition: String.h:425
String & replace(char c1, char c2)
String & operator=(const String &str)
bool operator<(const char *str1, const String &str2)
Definition: String.h:413
bool operator!=(const String &str1, const String &str2)
Definition: String.h:432
String & operator+=(const char &ch)
String operator+(const char *s1, const String &s2)
bool operator<(const String &str1, const String &str2)
Definition: String.h:450
String & assign(const String &str)
String & operator+=(const char *str)
String & assign(const char *str, size_type len)
bool operator<=(const String &str1, const char *str2)
Definition: String.h:383
String & append(const String &str)
String & append(size_type num, const char &ch)
bool operator!=(const String &str1, const char *str2)
Definition: String.h:359
char & operator[](size_type index)
bool operator>=(const String &str1, const char *str2)
Definition: String.h:371
static const size_type npos
Definition: String.h:111
String operator+(const String &s1, const char *s2)
String(const String &str)
String & assign(const char *str)
String & operator+=(const String &str)
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) const
Definition: String.h:282
bool operator!=(const char *str1, const String &str2)
Definition: String.h:395
size_type length(void) const
Definition: String.h:292
String & append(const char *str)
A (relatively simple) string implementation.
Definition: String.h:82
bool operator<(const String &str1, const char *str2)
Definition: String.h:377
bool operator>=(const char *str1, const String &str2)
Definition: String.h:407
String substr(size_type index, size_type num=npos) const
String & append(const char *str, size_type len)
String & operator=(const char *str)
char operator[](size_type index) const
size_type find(const char *str) const
bool empty(void) const
Definition: String.h:298
size_type capacity(void) const
Definition: String.h:295
bool operator>(const String &str1, const char *str2)
Definition: String.h:365
const char * c_str(void)
Definition: String.h:279
void printf(const char *fmt,...)
size_type find(const char *str, size_type offset) const
const char * data(void) const
Definition: String.h:289
bool operator>(const String &str1, const String &str2)
Definition: String.h:438
void reserve(size_type len)
bool operator==(const char *str1, const String &str2)
Definition: String.h:389
bool operator==(const String &str1, const char *str2)
Definition: String.h:353