DriverAPI C++ I/F  6.0
PtlDrvString.h
1 
2 // PtlDrvString.h
3 // Copyright (C) 2010-2013 Antenna House,Inc.
4 // All rights reserved.
6 
7 //※重要※このファイルで公開するクラスを改造したり、継承したりしないでください。
8 
9 #pragma once
10 
11 #include "PtlDrvPlatformDefs.h"
12 namespace PdfDrv {
13 
14 #pragma pack(push,8)
15 
16 class implPtlDrvString;
17 class PDFDRV_API PtlDrvString
18 {
19 private:
20  implPtlDrvString* m_obj;
21 public:
22  PtlDrvString();
23  PtlDrvString(const PtlDrvString& obj);
24  PtlDrvString(const wchar_t* wstr);
25  PtlDrvString(const char* cstr);
26  ‾PtlDrvString();
27  PtlDrvString& operator=(const PtlDrvString& obj);
28  PtlDrvString& operator=(const char* cstr);
29  PtlDrvString& operator=(const wchar_t* wstr);
30 
31  bool operator==(const PtlDrvString& obj);
32  bool operator==(const wchar_t *wstr);
33  bool operator==(const char *cstr);
34 
35  PtlDrvString operator+(const PtlDrvString& obj);
36  PtlDrvString operator+(const wchar_t *wstr);
37  PtlDrvString operator+(const char *cstr);
38  PtlDrvString& operator+=(const PtlDrvString& obj);
39  PtlDrvString& operator+=(const wchar_t *wstr);
40  PtlDrvString& operator+=(const char *cstr);
41  operator const wchar_t*() const;
42  operator const char*() const;
43  wchar_t operator[](size_t offset);
44 
45 public:
46  //マルチバイト文字のコードページを設定する。
47  //内部でMB <-> UNICODE変換する場合に使用。設定しただけでは変換はしない。 = で文字列を代入時に影響。
48  void setCodepage(unsigned int cp);
49  unsigned int getCodePage() const;
50  //内部UNICODE文字列へのポインタを返す。文字列長、文字数を取得するメソッドは持たないのでここからwcslenを使用のこと。
51  const wchar_t* w_str() const;
52  //内部マルチバイト文字列へのポインタを返す。文字列長、文字数を取得するメソッドは持たないのでここからstrlenを使用のこと。
53  const char* c_str() const;
54  //文字列が空文字列かどうか確認する。
55  bool empty() const;
56 };
57 #pragma pack(pop)
58 }