4.4.1.31. CORBA::WStringValueクラス |
ワイド文字列を値として保持するバリューボックスクラスです。
また、下記の関数以外にもCORBA::ValueBaseクラスの各関数が利用できます。
WStringValue | デフォルトコンストラクタ |
WStringValue(const CORBA::WStringValue&) | コピーコンストラクタ |
WStringValue(CORBA::WChar*) WStringValue(const CORBA::WChar*) WStringValue(const CORBA::WString_var&) |
保持しているワイド文字列の設定を行うコンストラクタ |
~WStringValue | デストラクタ |
operator=(CORBA::WChar*) operator=(const CORBA::WChar*) operator=(const CORBA::WStringValue&) |
ワイド文字列代入オペレータ |
operator[](CORBA::ULong) | 保持しているワイド文字列のindex番目の要素の参照をCORBA::WChar&型で返す |
operator[](CORBA::ULong) const | 保持しているワイド文字列のindex番目の要素をCORBA::WChar型で返す |
_value(CORBA::WChar*) _value(const CORBA::WChar*) _value(const CORBA::WString_var&) |
保持するワイド文字列を変更する |
_value() |
保持しているワイド文字列を取得する |
_boxed_in() _boxed_inout() _boxed_out() |
保持するワイド文字列をオペレーション引数の属性に応じた型で返す |
CORBA::WStringValue::WStringValue - デフォルトコンストラクタ
#include <orb.h> CORBA::WStringValue::WStringValue();
CORBA::WStringValueのインスタンスを生成するときに使用します。
保持するワイド文字列の初期値は空文字列(L"")です。
例)
CORBA::WStringValue* sv = new CORBA::WStringValue();
ありません。
起こりません。
CORBA::WStringValue::WStringValue(const CORBA::WStringValue&)
- コピーコンストラクタ
#include <orb.h> CORBA::WStringValue::WStringValue(const CORBA::WStringValue& s);
CORBA::WStringValueのインスタンスを作成し、引数のデータをコピーします。
例)
CORBA::WStringValue* sv = ...; CORBA::WStringValue* sv2 = new CORBA::WStringValue(sv);
ありません。
コピーコンストラクタは内部でワイド文字列をコピーするため、メモリ不足によるエラーが起こることがあります。この場合、ワイド文字列としてヌル・ポインタが設定されます。
CORBA::WStringValue::WStringValue(CORBA::WChar*)
CORBA::WStringValue::WStringValue(const CORBA::WChar*)
CORBA::WStringValue::WStringValue(const CORBA::WStringValue&)
- ワイド文字列の設定を行うコンストラクタ
#include <orb.h> CORBA::WStringValue::WStringValue(CORBA::WChar* p); CORBA::WStringValue::WStringValue(const CORBA::WChar* p); CORBA::WStringValue::WStringValue(const CORBA::WString_var& p);
CORBA::WStringValueのインスタンスを作成し、引数のワイド文字列を保持します。
引数がCORBA::WChar*型のときは、引数pの所有権がCORBA::WStringValueのインスタンスに移ります。 したがって、引数に渡した後で値を操作してはいけません。引数に渡せるのはCORBA::wstring_alloc(CORBA::ULong)もしくは CORBA::wstring_dup(const CORBA::WChar*)およびオペレーションの戻り値だけです。
引数がconst CORBA::WChar*やconst CORBA::WString_var&のときは、引数のワイド文字列のコピーが生成され、 CORBA::WStringValueのインスタンスは生成したコピーを保持します。
例)
const CORBA::WChar* cs = L"const CORBA::WChar* string"; CORBA::WChar* sptr = CORBA::wstring_dup(cs); CORBA::WString_var svar = CORBA::wstring_dup(cs); CORBA::WStringValue* sv1 = new CORBA::WStringValue(sptr); // CORBA::WChar* CORBA::WStringValue* sv2 = new CORBA::WStringValue(cs); // const CORBA::WChar* CORBA::WStringValue* sv3 = new CORBA::WStringValue(svar); // const CORBA::WString_var&
ありません。
CORBA::WStringValue(const CORBA::WChar*)およびCORBA::WStringValue(const CORBA::WString_var&)は内部でワイド文字列をコピーするため、 メモリ不足によるエラーが起こることがあります。この場合、ワイド文字列としてヌル・ポインタが設定されます。
CORBA::WStringValue::~WStringValue - デストラクタ
#include <orb.h> CORBA::WStringValue::~WStringValue();
CORBA::WStringValueのインスタンスを削除するときに使用します。
インスタンスを削除時には、保持しているワイド文字列も解放されます。
ありません。
起こりません。
CORBA::WStringValue::operator=(CORBA::WChar*)
CORBA::WStringValue::operator=(const CORBA::WChar*)
CORBA::WStringValue::operator=(const CORBA::WString_var&)
- ワイド文字列代入オペレータ
#include <orb.h> CORBA::WStringValue& CORBA::WStringValue::operator=(CORBA::WChar* p); CORBA::WStringValue& CORBA::WStringValue::operator=(const CORBA::WChar* p); CORBA::WStringValue& CORBA::WStringValue::operator=( const CORBA::WString_var& s );
CORBA::WStringValueのインスタンスの保持しているワイド文字列に右辺のワイド文字列を代入またはコピーし自分自身への参照を返します。 もし、左辺がワイド文字列を保持していたときは、古いワイド文字列は破棄されます。
CORBA::WChar*型からの代入はCORBA::wstring_alloc(CORBA::ULong)もしくはCORBA::wstring_dup(const CORBA::WChar*)および オペレーションの戻り値でなければなりません。また、代入されたワイド文字列は解放する必要はありません。 代入されたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
const CORBA::WChar*型からの代入はconst CORBA::WChar*が指している領域のコピーになります。 コピーされたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
const CORBA::WString_var&型からの代入は右辺が保持しているワイド文字列のコピーされます。 コピーされたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
例)
const CORBA::WChar* cs = L"const CORBA::WChar* string"; CORBA::WChar* sptr = CORBA::wstring_dup(cs); CORBA::WString_var svar = CORBA::wstring_dup(cs); CORBA::WStringValue* sv1 = new CORBA::WStringValue(); CORBA::WStringValue* sv2 = new CORBA::WStringValue(); CORBA::WStringValue* sv3 = new CORBA::WStringValue(); sv1 = sptr; // CORBA::WChar* sv2 = cs; // const CORBA::WChar* sv3 = sv2; // const CORBA::WString_var&
自分自身への参照を返します。
operator=(const CORBA::WChar*)およびoperator=(const CORBA::WString_var&)は内部でワイド文字列をコピーするため、 メモリ不足によるエラーが起こることがあります。この場合、ワイド文字列としてヌル・ポインタが設定されます。
CORBA::WStringValue::operator[](CORBA::ULong)
- 保持しているワイド文字列のindex番目の要素の参照をCORBA::WChar&型で返す
#include <orb.h> CORBA::WChar& CORBA::WStringValue::operator[](CORBA::ULong index);
CORBA::WStringValueのインスタンスが保持しているワイド文字列のindex番目の要素の参照をCORBA::WChar&型で返します。
index番目の要素の参照をCORBA::WChar&型で返します。
起こりません。
CORBA::WStringValue::operator[](CORBA::ULong) const
- 保持しているワイド文字列のindex番目の要素をCORBA::WChar型で返す
#include <orb.h> CORBA::WChar CORBA::WStringValue::operator[](CORBA::ULong index) const;
CORBA::WStringValueのインスタンスが保持しているワイド文字列のindex番目の要素をCORBA::WChar型で返します。
index番目の要素をCORBA::WChar型で返します。
起こりません。
CORBA::WStringValue::_value(CORBA::WChar*)
CORBA::WStringValue::_value(const CORBA::WChar*)
CORBA::WStringValue::_value(const CORBA::WString_var&)
- 保持するワイド文字列を変更する
#include <orb.h> void CORBA::WStringValue::_value(CORBA::WChar* p); void CORBA::WStringValue::_value(const CORBA::WChar* p); void CORBA::WStringValue::_value(const CORBA::WString_var& s);
CORBA::WStringValueのインスタンスの保持しているワイド文字列に引数のワイド文字列を代入またはコピーします。 もし、ワイド文字列を保持していたときは、古いワイド文字列は破棄されます。
引数がCORBA::WChar*型の場合は、引数のワイド文字列はCORBA::wstring_alloc(CORBA::ULong)もしくはCORBA::wstring_dup(const CORBA::WChar*)および オペレーションの戻り値でなければなりません。また、代入されたワイド文字列は解放する必要はありません。 代入されたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
引数がconst CORBA::WChar*型の場合は、引数のワイド文字列がコピーされます。 コピーされたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
引数がconst CORBA::WString_var&型の場合は、引数が保持しているワイド文字列がコピーされます。 コピーされたワイド文字列は、CORBA::WStringValueのインスタンスが解放されるとき、自動的に解放されます。
例)
const CORBA::WChar* cs = L"const CORBA::WChar* string"; CORBA::WChar* sptr = CORBA::wstring_dup(cs); CORBA::WString_var svar = CORBA::wstring_dup(cs); CORBA::WStringValue* sv1 = new CORBA::WStringValue(); CORBA::WStringValue* sv2 = new CORBA::WStringValue(); CORBA::WStringValue* sv3 = new CORBA::WStringValue(); sv1->_value(sptr); // CORBA::WChar* sv2->_value(cs); // const CORBA::WChar* sv3->_value(sv2); // const CORBA::WString_var&
ありません。
引数がconst CORBA::WChar*型およびconst CORBA::WString_var&の場合、内部でワイド文字列をコピーするため、 メモリ不足によるエラーが起こることがあります。この場合、ワイド文字列としてヌル・ポインタが設定されます。
CORBA::WStringValue::_value()
- 保持しているワイド文字列を取得する
#include <orb.h> const CORBA::WChar* CORBA::WStringValue::_value();
CORBA::WStringValueのインスタンスの保持しているワイド文字列を返します。 戻り値のワイド文字列を解放してはいけません。
例)
const CORBA::WChar* cs = L"const CORBA::WChar* string"; CORBA::WStringValue* sv = new CORBA::WStringValue(cs); const CORBA::WChar* cs2 = sv->_value();
保持しているワイド文字列を返します。
起りません。
CORBA::WStringValue::_boxed_in()
CORBA::WStringValue::_boxed_inout()
CORBA::WStringValue::_boxed_out()
- 保持するワイド文字列をオペレーション引数の属性に応じた型で返す
#include <orb.h> const CORBA::WChar* CORBA::WStringValue::_boxed_in(); CORBA::WChar*& CORBA::WStringValue::_boxed_inout(); CORBA::WChar*& CORBA::WStringValue::_boxed_out();
CORBA::WStringValueのインスタンスの保持しているワイド文字列を IDL wstring型を引数にもつオペレーションに渡す場合に、これらの関数を使用します。
_boxed_in()、_boxed_inout()および_boxed_out()はそれぞれ、in引数、inout引数およびout引数に対応しています。
_boxed_in()では、保持しているワイド文字列は、オペレーションのin引数として渡されます。
_boxed_inout()では、保持しているワイド文字列は、オペレーションにin引数として渡され、オペレーションの out引数として返されたワイド文字列に置き換えられます。
_boxed_out()では、保持しているワイド文字列は、呼び出し前に解放され、 オペレーションのout引数として返されたワイド文字列に置き換えられます。
例)
// IDL void myope(in wstring a, inout wstring b, out wstring c); // C++ const CORBA::WChar* cs = L"const CORBA::WChar* string"; CORBA::WStringValue* sv1 = new CORBA::WStringValue(cs); CORBA::WStringValue* sv2 = new CORBA::WStringValue(cs); CORBA::WStringValue* sv3 = new CORBA::WStringValue(cs); myppe(sv1->_boxed_in(), sv2->_boxed_inout(), sv3->_boxed_out());
保持するワイド文字列をオペレーション引数の属性に応じた型で返します。
起りません。