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 物件可以儲存訊息序列的複本。