Theolizer  Version.1.2.0
serializer for C++ / Do you want to update your classes easily ?
theolizer::u8string クラス

Unicode記録用文字列クラスu8string. [詳解]

#include <u8string.h>

クラス

class  b_string
 

公開メンバ関数

 u8string ()
 
 u8string (std::string const &str)
 
 u8string (std::string const &str, std::size_t pos, std::size_t len=std::string::npos)
 
 u8string (char const *s)
 
 u8string (char const *s, std::size_t n)
 
 u8string (std::size_t n, char c)
 
template<class InputIterator >
 u8string (InputIterator first, InputIterator last)
 
 u8string (std::initializer_list< char > il)
 
 u8string (std::string &&str) noexcept
 
 u8string (const wchar_t *iIn)
 
 u8string (const std::basic_string< wchar_t > &iIn)
 
 u8string (const char16_t *iIn)
 
 u8string (const std::basic_string< char16_t > &iIn)
 
 u8string (const char32_t *iIn)
 
 u8string (const std::basic_string< char32_t > &iIn)
 
 u8string (char const *iIn, MultiByte)
 
 u8string (std::string const &iIn, MultiByte)
 
u8stringoperator= (const u8string &iIn)
 
u8stringoperator+= (const u8string &iIn)
 
u8stringappend (const u8string &iIn)
 
u8stringassign (const u8string &iIn)
 
std::string & str ()
 
std::string const & str () const
 
char const * c_str () const
 
std::string get_string () const
 
std::wstring get_wstring () const
 
std::u16string get_u16string () const
 
std::u32string get_u32string () const
 
 operator std::string () const
 
 operator std::wstring () const
 
 operator std::u16string () const
 
 operator std::u32string () const
 
b_string b_str ()
 
std::string getMultiByte () const
 
u8stringsetMultiByte (char const *iIn)
 
u8stringsetMultiByte (std::string const &iIn)
 
std::string get_fstring () const
 
std::string get_bstring () const
 

フレンド

u8string operator+ (u8string const &lhs, u8string const &rhs)
 
u8string operator+ (u8string const &lhs, char const *rhs)
 
u8string operator+ (char const *lhs, u8string const &rhs)
 
bool operator== (const u8string &lhs, const u8string &rhs)
 
bool operator== (const u8string &lhs, char const *rhs)
 
bool operator== (char const *lhs, const u8string &rhs)
 
bool operator!= (const u8string &lhs, const u8string &rhs)
 
bool operator!= (const u8string &lhs, char const *rhs)
 
bool operator!= (char const *lhs, const u8string &rhs)
 
bool operator< (const u8string &lhs, const u8string &rhs)
 
bool operator< (const u8string &lhs, char const *rhs)
 
bool operator< (char const *lhs, const u8string &rhs)
 
bool operator<= (const u8string &lhs, const u8string &rhs)
 
bool operator<= (const u8string &lhs, char const *rhs)
 
bool operator<= (char const *lhs, const u8string &rhs)
 
bool operator> (const u8string &lhs, const u8string &rhs)
 
bool operator> (const u8string &lhs, char const *rhs)
 
bool operator> (char const *lhs, const u8string &rhs)
 
bool operator>= (const u8string &lhs, const u8string &rhs)
 
bool operator>= (const u8string &lhs, char const *rhs)
 
bool operator>= (char const *lhs, const u8string &rhs)
 
void swap (u8string &lhs, u8string &rhs)
 
std::istream & operator>> (std::istream &iIStream, u8string &rhs)
 
std::ostream & operator<< (std::ostream &iOStream, u8string const &rhs)
 

詳解

Unicode記録用文字列クラスu8string.

UTF-8文字列クラス

std::stringを派生し、Unicode間のエンコード変換機能を追加したクラス
Multi Byte文字エンコードとの変換も提供する。
テンプレート・パラメータとして、下記を使用可能。
  char UTF-8
  wchar_t UTF-16/32
  char16_t UTF-16
  char32_t UTF-32

下記コンバート機能を追加する
  コンストラクタ
  代入演算子
  明示的basic_string<他char型>取出し
    std::string get_string() const;
    std::wstring get_wstring() const;
    std::u16string get_u16string() const;
    std::u32string get_u32string() const;
  basic_string<他char型>へのキャスト演算子
    operator std::string() const;
    operator std::wstring() const;
    operator std::u16string() const;
    operator std::u32string() const;
  Multi Byte用コンバータ
    basic_string<char> getMultiByte() const;
    void setMultiByte(char const*);
  fstream用ファイル名返却
    ?string getXString() const;

スレッド・セーフ性:basic_string<>と同等
const指定されている関数同士は別スレッドからアクセスしても問題ない。
しかし、そうでない関数を別スレッドから呼び出してはいけない。

備忘録:
各中継マクロは、mStringデータ・メンバのみの前提で作っている。

u8string.h274 行目に定義があります。

構築子と解体子

§ u8string() [1/17]

theolizer::u8string::u8string ( )
inline

コンストラクタ

u8string.h291 行目に定義があります。

§ u8string() [2/17]

theolizer::u8string::u8string ( std::string const &  str)
inline

コンストラクタ

u8string.h293 行目に定義があります。

§ u8string() [3/17]

theolizer::u8string::u8string ( std::string const &  str,
std::size_t  pos,
std::size_t  len = std::string::npos 
)
inline

コンストラクタ

u8string.h295 行目に定義があります。

§ u8string() [4/17]

theolizer::u8string::u8string ( char const *  s)
inline

コンストラクタ

u8string.h298 行目に定義があります。

§ u8string() [5/17]

theolizer::u8string::u8string ( char const *  s,
std::size_t  n 
)
inline

コンストラクタ

u8string.h300 行目に定義があります。

§ u8string() [6/17]

theolizer::u8string::u8string ( std::size_t  n,
char  c 
)
inline

コンストラクタ

u8string.h302 行目に定義があります。

§ u8string() [7/17]

template<class InputIterator >
theolizer::u8string::u8string ( InputIterator  first,
InputIterator  last 
)
inline

コンストラクタ

u8string.h305 行目に定義があります。

§ u8string() [8/17]

theolizer::u8string::u8string ( std::initializer_list< char >  il)
inline

コンストラクタ

u8string.h308 行目に定義があります。

§ u8string() [9/17]

theolizer::u8string::u8string ( std::string &&  str)
inlinenoexcept

コンストラクタ

u8string.h310 行目に定義があります。

§ u8string() [10/17]

theolizer::u8string::u8string ( const wchar_t *  iIn)
inline

コンストラクタ

u8string.h323 行目に定義があります。

§ u8string() [11/17]

theolizer::u8string::u8string ( const std::basic_string< wchar_t > &  iIn)
inline

コンストラクタ

u8string.h323 行目に定義があります。

§ u8string() [12/17]

theolizer::u8string::u8string ( const char16_t *  iIn)
inline

コンストラクタ

u8string.h324 行目に定義があります。

§ u8string() [13/17]

theolizer::u8string::u8string ( const std::basic_string< char16_t > &  iIn)
inline

コンストラクタ

u8string.h324 行目に定義があります。

§ u8string() [14/17]

theolizer::u8string::u8string ( const char32_t *  iIn)
inline

コンストラクタ

u8string.h325 行目に定義があります。

§ u8string() [15/17]

theolizer::u8string::u8string ( const std::basic_string< char32_t > &  iIn)
inline

コンストラクタ

u8string.h325 行目に定義があります。

§ u8string() [16/17]

theolizer::u8string::u8string ( char const *  iIn,
MultiByte   
)
inline

Multi Byte文字列からコンストラクト

u8string.h329 行目に定義があります。

§ u8string() [17/17]

theolizer::u8string::u8string ( std::string const &  iIn,
MultiByte   
)
inline

Multi Byte文字列からコンストラクト

u8string.h332 行目に定義があります。

関数詳解

§ append()

u8string& theolizer::u8string::append ( const u8string iIn)
inline

代入演算子

u8string.h355 行目に定義があります。

§ assign()

u8string& theolizer::u8string::assign ( const u8string iIn)
inline

代入演算子

u8string.h357 行目に定義があります。

§ b_str()

b_string theolizer::u8string::b_str ( )
inline

各char*型への変換関数

u8string.h519 行目に定義があります。

§ c_str()

char const* theolizer::u8string::c_str ( ) const
inline

C言語文字列変換

u8string.h451 行目に定義があります。

§ get_bstring()

std::string theolizer::u8string::get_bstring ( ) const
inline

boost::filesystem::path対応 Windows : std::wstring(UTF-16)返却 その他 : std::string(UTF-8)返却

u8string.h573 行目に定義があります。

§ get_fstring()

std::string theolizer::u8string::get_fstring ( ) const
inline

std::fstream対応 MSVC : stkd::wstring(UTF-16)返却 MinGW : std::string(Multi Byte)返却 その他 : std::string(UTF-8)返却

u8string.h563 行目に定義があります。

§ get_string()

std:: string theolizer::u8string::get_string ( ) const
inline

std::string変換

u8string.h465 行目に定義があります。

§ get_u16string()

std:: u16string theolizer::u8string::get_u16string ( ) const
inline

std::u16string変換

u8string.h469 行目に定義があります。

§ get_u32string()

std:: u32string theolizer::u8string::get_u32string ( ) const
inline

std::u32string変換

u8string.h471 行目に定義があります。

§ get_wstring()

std:: wstring theolizer::u8string::get_wstring ( ) const
inline

std::wstring変換

u8string.h467 行目に定義があります。

§ getMultiByte()

std::string theolizer::u8string::getMultiByte ( ) const
inline

MultiByte文字列を返却

u8string.h532 行目に定義があります。

§ operator std::string()

theolizer::u8string::operator std::string ( ) const
inline

キャスト演算子

u8string.h479 行目に定義があります。

§ operator std::u16string()

theolizer::u8string::operator std::u16string ( ) const
inline

キャスト演算子

u8string.h483 行目に定義があります。

§ operator std::u32string()

theolizer::u8string::operator std::u32string ( ) const
inline

キャスト演算子

u8string.h485 行目に定義があります。

§ operator std::wstring()

theolizer::u8string::operator std::wstring ( ) const
inline

キャスト演算子

u8string.h481 行目に定義があります。

§ operator+=()

u8string& theolizer::u8string::operator+= ( const u8string iIn)
inline

代入演算子

u8string.h353 行目に定義があります。

§ operator=()

u8string& theolizer::u8string::operator= ( const u8string iIn)
inline

代入演算子

u8string.h351 行目に定義があります。

§ setMultiByte() [1/2]

u8string& theolizer::u8string::setMultiByte ( char const *  iIn)
inline

MultiByte文字列を設定

u8string.h538 行目に定義があります。

§ setMultiByte() [2/2]

u8string& theolizer::u8string::setMultiByte ( std::string const &  iIn)
inline

MultiByte文字列を設定

u8string.h545 行目に定義があります。

§ str() [1/2]

std::string& theolizer::u8string::str ( )
inline

std::string変換

u8string.h446 行目に定義があります。

§ str() [2/2]

std::string const& theolizer::u8string::str ( ) const
inline

std::string変換

u8string.h448 行目に定義があります。

フレンドと関連関数の詳解

§ operator!= [1/3]

bool operator!= ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h397 行目に定義があります。

§ operator!= [2/3]

bool operator!= ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h397 行目に定義があります。

§ operator!= [3/3]

bool operator!= ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h397 行目に定義があります。

§ operator+ [1/3]

u8string operator+ ( u8string const &  lhs,
u8string const &  rhs 
)
friend

連結演算子

u8string.h363 行目に定義があります。

§ operator+ [2/3]

u8string operator+ ( u8string const &  lhs,
char const *  rhs 
)
friend

連結演算子

u8string.h368 行目に定義があります。

§ operator+ [3/3]

u8string operator+ ( char const *  lhs,
u8string const &  rhs 
)
friend

連結演算子

u8string.h373 行目に定義があります。

§ operator< [1/3]

bool operator< ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h398 行目に定義があります。

§ operator< [2/3]

bool operator< ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h398 行目に定義があります。

§ operator< [3/3]

bool operator< ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h398 行目に定義があります。

§ operator<<

std::ostream& operator<< ( std::ostream &  iOStream,
u8string const &  rhs 
)
friend

出力演算子

u8string.h427 行目に定義があります。

§ operator<= [1/3]

bool operator<= ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h399 行目に定義があります。

§ operator<= [2/3]

bool operator<= ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h399 行目に定義があります。

§ operator<= [3/3]

bool operator<= ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h399 行目に定義があります。

§ operator== [1/3]

bool operator== ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h396 行目に定義があります。

§ operator== [2/3]

bool operator== ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h396 行目に定義があります。

§ operator== [3/3]

bool operator== ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h396 行目に定義があります。

§ operator> [1/3]

bool operator> ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h400 行目に定義があります。

§ operator> [2/3]

bool operator> ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h400 行目に定義があります。

§ operator> [3/3]

bool operator> ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h400 行目に定義があります。

§ operator>= [1/3]

bool operator>= ( const u8string lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h401 行目に定義があります。

§ operator>= [2/3]

bool operator>= ( char const *  lhs,
const u8string rhs 
)
friend

比較演算子

u8string.h401 行目に定義があります。

§ operator>= [3/3]

bool operator>= ( const u8string lhs,
char const *  rhs 
)
friend

比較演算子

u8string.h401 行目に定義があります。

§ operator>>

std::istream& operator>> ( std::istream &  iIStream,
u8string rhs 
)
friend

入力演算子

u8string.h411 行目に定義があります。

§ swap

void swap ( u8string lhs,
u8string rhs 
)
friend

交換

u8string.h405 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: