00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __G_STRING_H__
00028 #define __G_STRING_H__
00029
00030 #include <g_types.h>
00031
00032 G_BEGIN_DECLS
00033
00034 typedef struct _GString GString;
00035 typedef struct _GStringChunk GStringChunk;
00036
00037 struct _GString
00038 {
00039 gchar *str;
00040 gint len;
00041 };
00042
00043
00044
00045 GStringChunk* g_string_chunk_new (gint size);
00046 void g_string_chunk_free (GStringChunk *chunk);
00047 gchar* g_string_chunk_insert (GStringChunk *chunk,
00048 const gchar *string);
00049 gchar* g_string_chunk_insert_const (GStringChunk *chunk,
00050 const gchar *string);
00051
00052
00053
00054
00055 GString* g_string_new (const gchar *init);
00056 GString* g_string_new_len (const gchar *init,
00057 gint len);
00058 GString* g_string_sized_new (guint dfl_size);
00059 gchar* g_string_free (GString *string,
00060 gboolean free_segment);
00061 gboolean g_string_equal (const GString *v,
00062 const GString *v2);
00063 guint g_string_hash (const GString *str);
00064 GString* g_string_assign (GString *string,
00065 const gchar *rval);
00066 GString* g_string_truncate (GString *string,
00067 guint len);
00068 GString* g_string_insert_len (GString *string,
00069 gint pos,
00070 const gchar *val,
00071 gint len);
00072 GString* g_string_append (GString *string,
00073 const gchar *val);
00074 GString* g_string_append_len (GString *string,
00075 const gchar *val,
00076 gint len);
00077 GString* g_string_append_c (GString *string,
00078 gchar c);
00079 GString* g_string_prepend (GString *string,
00080 const gchar *val);
00081 GString* g_string_prepend_c (GString *string,
00082 gchar c);
00083 GString* g_string_prepend_len (GString *string,
00084 const gchar *val,
00085 gint len);
00086 GString* g_string_insert (GString *string,
00087 gint pos,
00088 const gchar *val);
00089 GString* g_string_insert_c (GString *string,
00090 gint pos,
00091 gchar c);
00092 GString* g_string_erase (GString *string,
00093 gint pos,
00094 gint len);
00095 GString* g_string_down (GString *string);
00096 GString* g_string_up (GString *string);
00097 void g_string_sprintf (GString *string,
00098 const gchar *format,
00099 ...) G_GNUC_PRINTF (2, 3);
00100 void g_string_sprintfa (GString *string,
00101 const gchar *format,
00102 ...) G_GNUC_PRINTF (2, 3);
00103
00104 G_END_DECLS
00105
00106 #endif
00107