共用方式為


messages 類別

類別範本描述可作為地區設定 Facet 的物件,從指定地區設定的國際化訊息目錄中擷取本地化訊息。

目前,雖然實作 messages 類別,但沒有訊息。

語法

template <class CharType>
class messages : public messages_base;

參數

CharType
程式內用於編碼地區設定字元的類型。

備註

如同所有地區設定 facet,靜態物件識別碼有初始儲存值零。 第一次嘗試存取它的儲存值時,會在 id 中儲存一個唯一的正值。

這個 facet 基本上會開啟基底類別 messages_base 所定義的訊息目錄,擷取所需的資訊,並關閉目錄。

建構函式

建構函式 描述
messages 訊息 facet 建構函式。

Typedefs

類型名稱 描述
char_type 用來顯示訊息的字元類型。
string_type 類型,描述包含 basic_string 類型字元的 CharType 類型字串。

成員函式

成員函數 描述
close 關閉訊息目錄。
do_close 虛擬函式,呼叫以關閉訊息目錄。
do_get 虛擬函式,呼叫以擷取訊息目錄。
do_open 虛擬函式,呼叫以開啟訊息目錄。
get 擷取訊息目錄。
open 開啟訊息目錄。

需求

Header:<locale>

命名空間:std

messages::char_type

用來顯示訊息的字元類型。

typedef CharType char_type;

備註

此類型與範本參數 CharType 同義。

messages::close

關閉訊息目錄。

void close(catalog _Catval) const;

參數

_Catval
要關閉的目錄。

備註

此成員函式會呼叫 do_close(_ Catval)。

messages::d o_close

虛擬函式,呼叫以關閉訊息目錄。

virtual void do_close(catalog _Catval) const;

參數

_Catval
要關閉的目錄。

備註

受保護的成員函式會關閉訊息目錄_Catval,此目錄必須由先前呼叫do_open開啟。

_Catval 必須是從先前開啟且尚未關閉的目錄取得。

範例

請參閱 close 的範例,它會呼叫 do_close

messages::d o_get

虛擬函式,呼叫以擷取訊息目錄。

virtual string_type do_get(
    catalog _Catval,
    int _Set,
    int _Message,
    const string_type& _Dfault) const;

參數

_Catval
識別值,指定所要搜尋的訊息目錄。

_設置
第一個識別的項目,用來找出訊息目錄中的訊息。

_消息
第二個識別的項目,用來找出訊息目錄中的訊息。

_Dfault
失敗時要傳回的字串。

傳回值

它會傳回失敗時_Dfault複本。 否則,會傳回所指定訊息序列的複本。

備註

受保護的成員函式會嘗試從訊息目錄 _Catval取得訊息序列。 它可能會利用 _Set_Message_Dfault

範例

請參閱 get 的範例,它會呼叫 do_get

messages::d o_open

虛擬函式,呼叫以開啟訊息目錄。

virtual catalog do_open(
    const string& _Catname,
    const locale& _Loc) const;

參數

_Catname
所要搜尋之目錄的名稱。

_Loc
要在目錄中搜尋的地區設定。

傳回值

它會在失敗時傳回小於零的值。 否則,傳回的值可用來作為稍後對 get 進行呼叫時的第一個引數。

備註

受保護的成員函式會嘗試開啟名稱為 _Catname的訊息目錄。 它可能會利用地區設定 _Loc 這樣做

傳回值應該用來作為稍後對 close 進行呼叫時的引數。

範例

請參閱 open 的範例,它會呼叫 do_open

messages::get

擷取訊息目錄。

string_type get(
    catalog _CatVal,
    int _Set,
    int _Message,
    const string_type& _Dfault) const;

參數

_Catval
識別值,指定所要搜尋的訊息目錄。

_設置
第一個識別的項目,用來找出訊息目錄中的訊息。

_消息
第二個識別的項目,用來找出訊息目錄中的訊息。

_Dfault
失敗時要傳回的字串。

傳回值

它會傳回失敗時_Dfault複本。 否則,會傳回所指定訊息序列的複本。

備註

此成員函式會傳回 do_get( _Catval, _Set, _Message, _Dfault)。

messages::messages

訊息 facet 建構函式。

explicit messages(
    size_t _Refs = 0);

protected: messages(
    const char* _Locname,
    size_t _Refs = 0);

參數

_裁判
整數值,用來指定物件的記憶體管理類型。

_Locname
地區設定的名稱。

備註

_Refs 參數的可能值及其重要性如下:

  • 0:物件的存留期由包含該物件的地區設定來管理。

  • 1:物件的存留期必須以手動方式管理。

  • > 1:未定義這些值。

無法提供任何直接範例,因為解構函式受到保護。

建構函式會以 locale::facet( _Refs) 將其基底物件初始化。

messages::open

開啟訊息目錄。

catalog open(
    const string& _Catname,
    const locale& _Loc) const;

參數

_Catname
所要搜尋之目錄的名稱。

_Loc
要在目錄中搜尋的地區設定。

傳回值

它會在失敗時傳回小於零的值。 否則,傳回的值可用來作為稍後對 get 進行呼叫時的第一個引數。

備註

此成員函式會傳回 do_open( _Catname, _Loc)。

messages::string_type

類型,描述包含 basic_string 類型字元的 CharType 類型字串。

typedef basic_string<CharType, Traits, Allocator> string_type;

備註

此類型描述類別範本 的特製化basic_string 物件可以儲存訊息序列的複本。

另請參閱

<地區設定>
messages_base 類別
C++ 標準程式庫中的執行緒安全