aboutsummaryrefslogtreecommitdiff
path: root/src/SString.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/SString.h')
-rw-r--r--src/SString.h156
1 files changed, 78 insertions, 78 deletions
diff --git a/src/SString.h b/src/SString.h
index 1a7a5d4..6af5815 100644
--- a/src/SString.h
+++ b/src/SString.h
@@ -11,9 +11,9 @@
#include <stddef.h>
-typedef struct String_tag String; /* The abstract type for a String */
+typedef struct String_tag String; /* The abstract type for a String */
-typedef char SSCHAR; /* Could be Unicode... */
+typedef char SSCHAR; /* Could be Unicode... */
typedef enum { SSFALSE, SSTRUE } SSBOOL;
@@ -21,95 +21,95 @@ typedef enum { SSFALSE, SSTRUE } SSBOOL;
extern "C"
{
#endif
- /* String creation and deletion */
-String *String_New( void );
-String *String_Copy( const String *other );
-String *String_Make( const SSCHAR *other );
-void String_Delete( String * );
- /* Number of characters in string */
-size_t StringLength( const String * );
- /* Accessors */
-SSCHAR StringNthChar( const String *, size_t n );
-String * StringSetNthChar( String *, size_t n, SSCHAR c );
- /* Copying */
-String * StringSet( String *dest, const String *source );
-String * StringSetRange( String *dest, const String *source,
- size_t start, size_t length );
-String * StringSetToPartAfter( String *dest, const String *source,
- size_t position );
- /* Conversion to and from C string */
-String * StringSetToCString( String *s, const SSCHAR *c_str );
-String * StringConcatCString( String *s, const SSCHAR *c_str );
-int StringCompareCString( const String *s, const SSCHAR *c_str );
-String * StringInsertCString( String * s, const char * c_str,
- size_t position );
-String * StringSetToBuffer( String *s, const SSCHAR *buf,
- size_t len );
-const SSCHAR * StringGetBuffer( const String * s );
-void StringCopyBuffer( const String * s, SSCHAR * buf,
- size_t bufsize );
- /* Searching */
-SSBOOL StringFindStringFrom( const String *s, const String *toFind,
- size_t *position );
-SSBOOL StringFindCharFrom( const String *s, SSCHAR theChar,
- size_t *position );
-size_t StringSetNextToken( const String *s, String *token,
- const SSCHAR *delim, size_t index );
- /* Comparison */
-SSBOOL StringEquals( const String *a, const String *b );
-int StringCompare( const String *a, const String *b );
- /* Insertion and Concatenation */
-String * StringInsert( String * s, const String * other, size_t pos );
-String * StringConcat( String * s, const String * other);
-String * StringInsertChar( String * s, SSCHAR c, size_t pos );
- /* Deleting and Trimming */
-String * StringDeleteChar( String * s, size_t pos );
-String * StringDeleteRange( String * s, size_t begin, size_t end );
-String * StringTruncate( String *, size_t n );
-String * StringTrimLeading( String *, size_t n );
- /* For line reading and writing */
-void StringSetLineEndChars( String *str, const SSCHAR * );
- /* Printing to stdout */
-void StringPrint( const String *str );
-void StringFormatPrint( const String *str, const SSCHAR *format );
- /* Numeric conversions */
-double StringAsDouble( const String *str );
-long StringAsLong( const String *str );
-unsigned long StringAsUnsignedLong( const String *str );
+ /* String creation and deletion */
+String *String_New( void );
+String *String_Copy( const String *other );
+String *String_Make( const SSCHAR *other );
+void String_Delete( String * );
+ /* Number of characters in string */
+size_t StringLength( const String * );
+ /* Accessors */
+SSCHAR StringNthChar( const String *, size_t n );
+String * StringSetNthChar( String *, size_t n, SSCHAR c );
+ /* Copying */
+String * StringSet( String *dest, const String *source );
+String * StringSetRange( String *dest, const String *source,
+ size_t start, size_t length );
+String * StringSetToPartAfter( String *dest, const String *source,
+ size_t position );
+ /* Conversion to and from C string */
+String * StringSetToCString( String *s, const SSCHAR *c_str );
+String * StringConcatCString( String *s, const SSCHAR *c_str );
+int StringCompareCString( const String *s, const SSCHAR *c_str );
+String * StringInsertCString( String * s, const char * c_str,
+ size_t position );
+String * StringSetToBuffer( String *s, const SSCHAR *buf,
+ size_t len );
+const SSCHAR * StringGetBuffer( const String * s );
+void StringCopyBuffer( const String * s, SSCHAR * buf,
+ size_t bufsize );
+ /* Searching */
+SSBOOL StringFindStringFrom( const String *s, const String *toFind,
+ size_t *position );
+SSBOOL StringFindCharFrom( const String *s, SSCHAR theChar,
+ size_t *position );
+size_t StringSetNextToken( const String *s, String *token,
+ const SSCHAR *delim, size_t index );
+ /* Comparison */
+SSBOOL StringEquals( const String *a, const String *b );
+int StringCompare( const String *a, const String *b );
+ /* Insertion and Concatenation */
+String * StringInsert( String * s, const String * other, size_t pos );
+String * StringConcat( String * s, const String * other);
+String * StringInsertChar( String * s, SSCHAR c, size_t pos );
+ /* Deleting and Trimming */
+String * StringDeleteChar( String * s, size_t pos );
+String * StringDeleteRange( String * s, size_t begin, size_t end );
+String * StringTruncate( String *, size_t n );
+String * StringTrimLeading( String *, size_t n );
+ /* For line reading and writing */
+void StringSetLineEndChars( String *str, const SSCHAR * );
+ /* Printing to stdout */
+void StringPrint( const String *str );
+void StringFormatPrint( const String *str, const SSCHAR *format );
+ /* Numeric conversions */
+double StringAsDouble( const String *str );
+long StringAsLong( const String *str );
+unsigned long StringAsUnsignedLong( const String *str );
typedef enum SSFORMAT_TAG
{
- SFMT_DEFAULT = 0,
- SFMT_LEFT_ALIGN = 1,
- SFMT_PAD_ZERO = 1<<1,
- SFMT_LOWERCASE = 1<<2,
- SFMT_ADD_SIGN_SPACE = 1<<3,
- SFMT_PRINT_SIGN = 1<<4,
- SFMT_ALT = 1<<5
+ SFMT_DEFAULT = 0,
+ SFMT_LEFT_ALIGN = 1,
+ SFMT_PAD_ZERO = 1<<1,
+ SFMT_LOWERCASE = 1<<2,
+ SFMT_ADD_SIGN_SPACE = 1<<3,
+ SFMT_PRINT_SIGN = 1<<4,
+ SFMT_ALT = 1<<5
} SSFORMAT;
typedef enum SSDOUBLE_FORMAT_TAG
{
- SFMT_EXPONENTIAL = 1<<6,
- SFMT_DISCRETIONARY_EXP = 1<<7
+ SFMT_EXPONENTIAL = 1<<6,
+ SFMT_DISCRETIONARY_EXP = 1<<7
} SSDOUBLE_FORMAT;
typedef enum SSINT_FORMAT_TAG
{
- SFMT_HEX = 1<<6,
- SFMT_OCTAL = 1<<7
+ SFMT_HEX = 1<<6,
+ SFMT_OCTAL = 1<<7
} SSINT_FORMAT;
-#define SFMT_ALWAYS_POINT SFMT_ALT
-#define SFMT_DONT_TRIM_ZEROS SFMT_ALT
+#define SFMT_ALWAYS_POINT SFMT_ALT
+#define SFMT_DONT_TRIM_ZEROS SFMT_ALT
-String * StringConcatFormattedDecimal( String *s, long int d,
- int width, int precision, SSINT_FORMAT f );
-String * StringConcatFormattedUnsigned( String *s, unsigned long int n,
- int width, int precision, SSINT_FORMAT f );
-String * StringConcatFormattedDouble( String *s, double d,
- int width, int precision, SSDOUBLE_FORMAT f );
-String * StringConcatDecimal( String *str, long int d );
-String * StringConcatDouble( String *str, double d );
+String * StringConcatFormattedDecimal( String *s, long int d,
+ int width, int precision, SSINT_FORMAT f );
+String * StringConcatFormattedUnsigned( String *s, unsigned long int n,
+ int width, int precision, SSINT_FORMAT f );
+String * StringConcatFormattedDouble( String *s, double d,
+ int width, int precision, SSDOUBLE_FORMAT f );
+String * StringConcatDecimal( String *str, long int d );
+String * StringConcatDouble( String *str, double d );
#ifdef __cplusplus
}