BREW String

BREWの文字列の扱いは非常に( ゚Д゚)マンドクセーなので、文字列を扱う為のクラスを作ってみます。
目標としては、JavaのStringクラスと互換性のあるクラスを作ること。
まるっきりkanokeさんと同じことをしてますけど、内部実装は違うので許して下さい(;´Д`)


まず、Stringの内部的に持つ文字列データはAECHAR配列とその文字数だとして、そいつをStringDataとして定義して……。

class StringData : public ObjectData{
    int     _length;
    AECHAR* _string;
};

あ、参照カウンタも必要になるんだった(;´Д`)
参照カウンタの実装はめんどうだなぁ……。
いっそのことスマートポインタで定義するか。

class StringData : public ObjectData{
    int     _length;
    smart_ptr< AECHAR > _string;
}

これで良しと。
あとはこれに4個ぐらいのコンストラクタと10個ぐらいのoperator系と6個ぐらいのfind系のメソッドと4個ぐらいのcopy系のメソッドの、合計24個ぐらいのメソッドを作れば完成!


……メンドー(;´Д`)


サボりたがりな自分はそんなこと面倒なことはやってられません。
てか目の前にSTLという餌がぶら下がってるのにどうして一からんなもん作らねばならんのか。
つーことで、basic_stringをBREW用にimportしてから、それをwrapする形でStringを実装することを考えます。