13.26 RefAnyクラス

RefAnyクラスは、あらゆる型への参照をサポートするために設計されています。このクラスの主な目的は、一般的な参照を処理し、型の階層でRefの変換を可能にすることです。RefAnyオブジェクトは、Ref<x>Ref<y> (xyは異なる型)の2つの型の中継として使用できます。

表13-37 RefAnyメソッドの概要

メソッド 概要

RefAny()

RefAnyクラスのコンストラクタです。

clear()

参照を消去します。

getConnection()

このRefが作成された元の接続を戻します。

isNull()

RefAnyオブジェクトがNULLかどうかをチェックします。

markDelete()

オブジェクトを削除済にマークします。

operator=()

RefAnyの代入演算子です。

operator==()

このRefAnyオブジェクトが指定したRefAnyと等しいかどうかをチェックします。

operator!=()

等しくないかどうかをチェックします。

unmarkDelete()

オブジェクトの削除済マークを解除します。

13.26.1 RefAny()

Ref<T>は常にRefAnyに変換できます。Ref<T>テンプレートに変換を実行するメソッドが存在します。各Ref<T>には、コンストラクタおよびRefAnyへの参照を行う代入演算子があります。

構文 説明
RefAny();

NULLのRefAnyを作成します。

RefAny(
   const Connection *sessptr,
   const OCIRef *ref);

セッションのポインタと参照からRefAnyを作成します。

RefAny(
   const RefAny& src);

RefAnyを別のRefAnyオブジェクトのコピーとして作成します。

パラメータ 説明
sessptr

セッション・ポインタ

ref

参照

src

割り当てられるソースのRefAnyオブジェクトを指定します。

13.26.2 clear()

このメソッドは、参照を消去します。

構文

void clear();

13.26.3 getConnection()

この参照がインスタンス化された元の接続を戻します。

構文

const Connection* getConnection() const;

13.26.4 isNull()

このRefが指すオブジェクトがNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool isNull() const;

13.26.5 markDelete()

このメソッドは、参照オブジェクトに削除済マークを設定します。

構文

void markDelete();

13.26.6 operator=()

RefAnyの代入演算子です。

構文

RefAny& operator=(
   const RefAny& src);
パラメータ 説明
src

割り当てられるソースのRefAnyオブジェクトを指定します。

13.26.7 operator==()

このrefRefAnyオブジェクトを比較し、両方がキャッシュ内の同じオブジェクトを参照している場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool operator== (
   const RefAny &refAnyR) const;
パラメータ 説明
refAnyR

比較対象のRefAnyオブジェクトを指定します。

13.26.8 operator!=()

このrefとRefAnyオブジェクトを比較し、両方がキャッシュ内の同じオブジェクトを参照していない場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool operator!= (
   const RefAny &refAnyR) const;
パラメータ 説明
refAnyR

比較対象のRefAnyオブジェクトを指定します。

13.26.9 unmarkDelete()

このメソッドは、参照オブジェクトの使用済マークを解除します。

構文

void unmarkDelete();