前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework UNIVERSE 5.0
SFXBrewPointer
BREW インターフェース用のスマートポインタテンプレートです。
#include <SFXBrewPointer.h.hpp>
class SFXBrewPointer;
SFMTYPEDEFCLASS(SFXBrewPointer)

継承図

SFXBrewPointer クラスの継承図

協調図

SFXBrewPointer クラスの協調図

解説

SFXBrewPointer クラスは BREW インターフェースのラッパークラスに対して、 参照カウントを自動管理する機能を提供します。

参照

BREW ラッパークラス

メンバ

コンストラクタ/デストラクタ
SFXBrewPointer( Void )
SFXBrewPointer( SFXBrewPointer< M > const & param )
SFXBrewPointer( SFXBrewPointer< T > const & param )
SFXBrewPointer( T * pointer , Bool increment = true )
SFXBrewPointer クラスのコンストラクタです。
パブリック関数
Void Attach( T * pointer )
インスタンスの解放責任を受けます。
T * Detach( Void )
SFXBrewPointer クラスが管理するインスタンスの解放責任を譲ります。
static
SFXBrewPointer< T > const &
EmptyInstance( Void )
無効なインスタンスを持った SFXBrewPointer を取得します。
T * Get( Void )
保持しているインスタンスのポインタを取得します。
Void Release( Void )
SFXBrewPointer を解放します。
Void Set( SFXBrewPointer< M > const & param )
Set( T * pointer , Bool increment = true )
Set( SFXBrewPointer< T > const & param )
インスタンスを設定します。
T * operator->( Void )
保持しているインスタンスを呼び出します。
SFXBrewPointer< T > & operator=( SFXBrewPointer< M > const & param )
operator=( SFXBrewPointer< T > const & param )
インスタンスを代入します。
Bool operator==( SFXBrewPointer< T > const & left , SFXBrewPointer< M > const & right )
operator==( SFBBaseConstPtr left , SFXBrewPointer< T > const & right )
operator==( SFXBrewPointer< T > const & left , SFBBaseConstPtr right )
== の関係を判定します。
Bool operator!=( SFXBrewPointer< T > const & left , SFXBrewPointer< M > const & right )
operator!=( SFBBaseConstPtr left , SFXBrewPointer< T > const & right )
operator!=( SFXBrewPointer< T > const & left , SFBBaseConstPtr right )
!= の関係を判定します。
グローバル関数
SFXBrewPointer< T > const_pointer_cast( SFXBrewPointer< M > const & param )
SFXBrewPointer 同士で const_cast を行います。
SFXBrewPointer< T > dynamic_pointer_cast( SFXBrewPointer< M > const & param )
SFXBrewPointer 同士で dynamic_cast を行います。
SFXBrewPointer< T > reinterpret_pointer_cast( SFXBrewPointer< M > const & param )
SFXBrewPointer 同士で reinterpret_cast を行います。
SFXBrewPointer< T > static_pointer_cast( SFXBrewPointer< M > const & param )
SFXBrewPointer 同士で static_cast を行います。
Bool operator==( SFXBrewPointer< T > const & left , SFXBrewPointer< M > const & right )
operator==( SFBBaseConstPtr left , SFXBrewPointer< T > const & right )
operator==( SFXBrewPointer< T > const & left , SFBBaseConstPtr right )
== の関係を判定します。
T & operator*( Void )
保持しているインスタンスを取得します。
Bool operator!=( SFXBrewPointer< T > const & left , SFXBrewPointer< M > const & right )
operator!=( SFBBaseConstPtr left , SFXBrewPointer< T > const & right )
operator!=( SFXBrewPointer< T > const & left , SFBBaseConstPtr right )
!= の関係を判定します。

SFXBrewPointer::SFXBrewPointer
SFXBrewPointer クラスのコンストラクタです。
[ public, explicit ]
SFXBrewPointer(Void);
[ public ]
SFXBrewPointer(
    SFXBrewPointer< M > const & param   // コピーする SFXBrewPointer のリファレンス
);
[ public ]
SFXBrewPointer(
    SFXBrewPointer< T > const & param   // コピーする SFXBrewPointer のリファレンス
);
[ public, explicit ]
SFXBrewPointer(
    T * pointer             // 格納するインスタンスのポインタ
    Bool increment = true   // 参照カウンタを増加させるかどうかを指定する
);

SFXBrewPointer::Attach
インスタンスの解放責任を受けます。
[ public ]
Void Attach(
    T * pointer   // 解放責任を譲るインスタンスのポインタ
);

解説

SFXBrewPointer が解放責任を受けると SFXBrewPointer がインスタンスを管理するようになり、 参照カウントの自動管理が行われます。

Attach 関数は SFXBrewPointer::Set(address, false); を実行するのと同じです。

参照

SFXBrewPointer::Detach


SFXBrewPointer::Detach
SFXBrewPointer クラスが管理するインスタンスの解放責任を譲ります。
[ public ]
T * Detach(Void);

戻り値

SFXBrewPointer が持っていたインスタンスを返します。

解説

Detach 関数を呼び出すと SFXBrewPointer はインスタンスを管理しなくなり、参照カウントの自動管理が行われなくなります。


SFXBrewPointer::EmptyInstance
無効なインスタンスを持った SFXBrewPointer を取得します。
[ public, static ]
SFXBrewPointer< T > const & EmptyInstance(Void);

戻り値

無効なインスタンスを持った SFXBrewPointer のリファレンスを取得します。

解説

null のリファレンスは作成できないので、無効なインスタンスであることを示すために EmptyInstance 関数が用意されています。


SFXBrewPointer::Get
保持しているインスタンスのポインタを取得します。
[ public, const ]
T * Get(Void);

参照

SFXBrewPointer::Set


SFXBrewPointer::Release
SFXBrewPointer を解放します。
[ public ]
Void Release(Void);

解説

SFXBrewPointer の内部に保持しているインスタンスの参照カウンタをデクリメントし、 インスタンスの管理をしなくなります。


SFXBrewPointer::Set
インスタンスを設定します。
[ public ]
Void Set(
    SFXBrewPointer< M > const & param   // 設定する SFXBrewPointer のリファレンス
);
[ public ]
Void Set(
    SFXBrewPointer< T > const & param   // 設定する SFXBrewPointer のリファレンス
);
[ public ]
Void Set(
    T * pointer             // 格納するインスタンスのポインタ
    Bool increment = true   // 参照カウンタを増加させるかどうか
);

解説

前に持っていたインスタンスの参照カウンタをデクリメントしてから、 インスタンスが設定されます。

参照

SFXBrewPointer::Get | SFXBrewPointer::operator=


const_pointer_cast
SFXBrewPointer 同士で const_cast を行います。
SFXBrewPointer< T > const_pointer_cast(
    SFXBrewPointer< M > const & param   // キャストするポインタ
);

解説

SFXBrewPointer 同士の const_cast は、const_pointer_cast 関数を使って行います。

参照

static_pointer_cast | dynamic_pointer_cast | reinterpret_pointer_cast


dynamic_pointer_cast
SFXBrewPointer 同士で dynamic_cast を行います。
SFXBrewPointer< T > dynamic_pointer_cast(
    SFXBrewPointer< M > const & param   // キャストするポインタ
);

解説

SFXBrewPointer 同士の dynamic_cast は、dynamic_pointer_cast 関数を使って行います。

参照

static_pointer_cast | const_pointer_cast | reinterpret_pointer_cast


reinterpret_pointer_cast
SFXBrewPointer 同士で reinterpret_cast を行います。
SFXBrewPointer< T > reinterpret_pointer_cast(
    SFXBrewPointer< M > const & param   // キャストするポインタ
);

解説

SFXBrewPointer 同士の reinterpret_cast は、reinterpret_pointer_cast 関数を使って行います。

参照

static_pointer_cast | const_pointer_cast | dynamic_pointer_cast


static_pointer_cast
SFXBrewPointer 同士で static_cast を行います。
SFXBrewPointer< T > static_pointer_cast(
    SFXBrewPointer< M > const & param   // キャストするポインタ
);

解説

SFXBrewPointer 同士の static_cast は、static_pointer_cast 関数を使って行います。

参照

const_pointer_cast | dynamic_pointer_cast | reinterpret_pointer_cast


SFXBrewPointer::operator->
保持しているインスタンスを呼び出します。
[ public, const ]
T * operator->(Void);

SFXBrewPointer::operator=
インスタンスを代入します。
[ public ]
SFXBrewPointer< T > & operator=(
    SFXBrewPointer< M > const & param   // 代入する SFXBrewPointer のリファレンス
);
[ public ]
SFXBrewPointer< T > & operator=(
    SFXBrewPointer< T > const & param   // 代入する SFXBrewPointer のリファレンス
);

解説

SFXBrewPointer::operator= 演算子は内部で SFXBrewPointer::Set(SFXBrewPointer< M > const &)、または SFXBrewPointer::Set(SFXBrewPointer< T > const &) 関数を呼び出しています。

参照

SFXBrewPointer::Set


operator==
== の関係を判定します。
[ public, friend ]
Bool operator==(
    SFXBrewPointer< T > const & left    // 比較する SFXBrewPointer のリファレンス
    SFXBrewPointer< M > const & right   // 比較する SFXBrewPointer のリファレンス
);
[ public, friend ]
Bool operator==(
    SFXBrewPointer< T > const & left   // 比較する SFXBrewPointer のリファレンス
    SFBBaseConstPtr right              // 比較する SFBBase のポインタ
);
[ public, friend ]
Bool operator==(
    SFBBaseConstPtr left                // 比較する SFBBase のポインタ
    SFXBrewPointer< T > const & right   // 比較する SFXBrewPointer のリファレンス
);

戻り値

  • 等しいとき : true
  • 異なるとき : false

operator*
保持しているインスタンスを取得します。
[ const ]
T & operator*(Void);

operator!=
!= の関係を判定します。
[ public, friend ]
Bool operator!=(
    SFXBrewPointer< T > const & left    // 比較する SFXBrewPointer のリファレンス
    SFXBrewPointer< M > const & right   // 比較する SFXBrewPointer のリファレンス
);
[ public, friend ]
Bool operator!=(
    SFXBrewPointer< T > const & left   // 比較する SFXBrewPointer のリファレンス
    SFBBaseConstPtr right              // 比較する SFBBase のポインタ
);
[ public, friend ]
Bool operator!=(
    SFBBaseConstPtr left                // 比較する SFBBase のポインタ
    SFXBrewPointer< T > const & right   // 比較する SFXBrewPointer のリファレンス
);

戻り値

  • 異なるとき : true
  • 等しいとき : false