17#ifndef _FL_Fl_String_H_
18#define _FL_Fl_String_H_
30#include <FL/Fl_Export.H>
40using Fl_String = std::string;
72class FL_EXPORT Fl_String {
86 Fl_String &replace_(
int at,
int n_del,
const char *src,
int n_ins);
89 static const char NUL;
92 static const int npos;
96 Fl_String(
const Fl_String &str);
97 Fl_String(
const char *cstr);
98 Fl_String(
const char *str,
int size);
100 Fl_String& operator=(
const Fl_String &str);
101 Fl_String& operator=(
const char *cstr);
102 Fl_String &assign(
const Fl_String &str);
103 Fl_String &assign(
const char *cstr);
104 Fl_String &assign(
const char *str,
int size);
107 char at(
int pos)
const;
108 char operator[](
int n)
const;
109 char &operator[](
int n);
110 const char *data()
const;
112 const char *c_str()
const;
118 int capacity()
const;
119 void shrink_to_fit();
123 Fl_String &insert(
int at,
const char *src,
int n_ins=npos);
124 Fl_String &insert(
int at,
const Fl_String &src);
125 Fl_String &erase(
int at,
int n_del);
126 void push_back(
char c);
128 Fl_String &append(
const char *src,
int n_ins=npos);
129 Fl_String &append(
const Fl_String &src);
130 Fl_String &append(
char c);
131 Fl_String &operator+=(
const char *src);
132 Fl_String &operator+=(
const Fl_String &src);
133 Fl_String &operator+=(
char c);
134 int find(
const Fl_String &needle,
int start_pos=0)
const;
135 Fl_String &replace(
int at,
int n_del,
const char *src,
int n_ins=npos);
136 Fl_String &replace(
int at,
int n_del,
const Fl_String &src);
137 Fl_String substr(
int pos=0,
int n=npos)
const;
142 void debug(
const char *info = 0)
const;
143 void hexdump(
const char *info = 0)
const;
147FL_EXPORT Fl_String operator+(
const Fl_String& lhs,
const Fl_String& rhs);
148FL_EXPORT Fl_String operator+(
const Fl_String& lhs,
const char* rhs);
149FL_EXPORT
bool operator==(
const Fl_String & lhs,
const Fl_String & rhs);
150FL_EXPORT
bool operator!=(
const Fl_String & lhs,
const Fl_String & rhs);