|
|
| version 1.41, 2001/03/19 15:29:38 | version 1.44, 2001/03/19 20:07:37 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser | Parser: string class decl. |
| Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) |
| Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf) | Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf) |
| $Id$ | $Id$ |
| Line 42 | Line 44 |
| /// handy: appends const char* piece to String | /// handy: appends const char* piece to String |
| #define APPEND_CONST(src) APPEND(src, 0, 0, 0) | #define APPEND_CONST(src) APPEND(src, 0, 0, 0) |
| /** @brief | /** |
| Pooled string. | Pooled string. |
| Internal structure: @verbatim | Internal structure: @verbatim |
| Line 99 public: | Line 101 public: |
| /// convert to C string | /// convert to C string |
| char *cstr() const; | char *cstr() const; |
| String& real_append(STRING_APPEND_PARAMS); | String& real_append(STRING_APPEND_PARAMS); |
| /// \return <0 ==0 or >0 depending on comparison result | /// @return <0 ==0 or >0 depending on comparison result |
| int cmp (const String& src) const; | int cmp (const String& src) const; |
| bool operator < (const String& src) const { return cmp(src)<0; } | bool operator < (const String& src) const { return cmp(src)<0; } |
| bool operator > (const String& src) const { return cmp(src)>0; } | bool operator > (const String& src) const { return cmp(src)>0; } |
| Line 113 public: | Line 115 public: |
| bool operator != (const String& src) const { return cmp(src)!=0; } | bool operator != (const String& src) const { return cmp(src)!=0; } |
| bool operator == (const char* b_ptr) const; | bool operator == (const char* b_ptr) const; |
| /** @brief | /** |
| appends other String | appends other String. |
| marking all tainted pieces of it with \a lang. | marking all tainted pieces of it with \a lang. |
| or marking ALL pieces of it with a \a lang when \a forced to. | or marking ALL pieces of it with a \a lang when \a forced to. |
| Line 126 public: | Line 128 public: |
| #ifndef NO_STRING_ORIGIN | #ifndef NO_STRING_ORIGIN |
| /// origin of string. calculated by first row | /// origin of string. calculated by first row |
| const Origin& origin() const { | const Origin& origin() const; |
| if(!fused_rows) | |
| THROW(0, 0, | |
| 0, | |
| "String::origin() of empty string called"); | |
| return head.rows[0].item.origin; | |
| } | |
| #endif | #endif |
| private: | private: |