CXB_MULTIPLE_STRING
Klasse CXB_MULTIPLE_STRING verwaltet mehrsprachige Zeichenketten:
class CXB_MULTIPLE_STRING { public: CXB_MULTIPLE_STRING(void); CXB_MULTIPLE_STRING(CXB_MULTIPLE_STRING &); ˜CXB_MULTIPLE_STRING(void); inline operator char *() { return GetString(); } int operator&(char *); char *GetString(void); char *GetString(int k); inline int N(void) { return n; } int NTrue(void); void Import(char *, int); CXB_MULTIPLE_STRING &operator=(CXB_MULTIPLE_STRING &); CXB_MULTIPLE_STRING &operator=(CXB_STRING &); CXB_MULTIPLE_STRING &operator=(char *); CXB_MULTIPLE_STRING &operator|=(char *); CXB_MULTIPLE_STRING &operator+=(char); CXB_MULTIPLE_STRING &operator+=(char *); CXB_MULTIPLE_STRING &operator+=(CXB_STRING &); CXB_MULTIPLE_STRING &operator+=(CXB_MULTIPLE_STRING &); inline char *operator[](int i) { return GetString(i); } private: unsigned char n; // number of strings held at the moment unsigned char g; // g slots allocated (g = m * GRANULARITY, // m = 1, 2, ...) CXB_STRING **str; // slots holding the strings };
Da der Operator (char *) überladen wurde, können Objekt dieser Klasse wie
gewöhnliche Zeichenketten vom Typ 'char *' verwendet werden. Man erhält die der aktuellen Sprache (siehe CXB_SYSTEM) entsprechende Zeichenkette. Weitere
Operationen zeigt die folgende Tabelle:Operator Funktion | Bedeutung |
---|---|
(char *) | Zeichenkette in aktueller Sprache (CXB_SYSTEM) |
i | Zeichenkette in der i-ten Sprache |
= | Assignment: eine einzelne Zeichenkette (Typ 'char *' oder 'CXB_STRING') überschreibt die zur aktuellen Sprache gehörende Zeichenkette |
|= | importiert die Zeichenkette als n+1-ten String |
+= | Verkettung, bei einzelner Zeichenkette mit dem zur aktuellen Sprache gehörenden String |
& | TRUE - Zeichenkette existiert im Objekt |
N() | liefert die Anzahl der Strings (Sprachen) |
NTrue() | TRUE - mindestens eine Zeichenkette > " " existiert |