クラス テンプレート Onikiri::PooledIntrusivePtrObject< T, PtrT >

#include <IntrusivePtrObjectPool.h>

Onikiri::PooledIntrusivePtrObject< T, PtrT >に対する継承グラフ

Inheritance graph
[凡例]
すべてのメンバ一覧

Static Public メソッド

template<typename Arg0, typename Arg1, typename Arg2, typename Arg3>
static INLINE boost::intrusive_ptr<
PtrT > 
Construct (const Arg0 &a0, const Arg1 &a1, const Arg2 &a2, const Arg3 &a3)
template<typename Arg0, typename Arg1, typename Arg2>
static INLINE boost::intrusive_ptr<
PtrT > 
Construct (const Arg0 &a0, const Arg1 &a1, const Arg2 &a2)
template<typename Arg0, typename Arg1>
static INLINE boost::intrusive_ptr<
PtrT > 
Construct (const Arg0 &a0, const Arg1 &a1)
template<typename Arg0>
static INLINE boost::intrusive_ptr<
PtrT > 
Construct (const Arg0 &a0)
static INLINE boost::intrusive_ptr<
PtrT > 
Construct ()
static INLINE void Destruct (T *ptr)

説明

template<typename T, typename PtrT = T>
class Onikiri::PooledIntrusivePtrObject< T, PtrT >

IntrusivePtrObjectPool.h43 行で定義されています。


関数

template<typename T, typename PtrT = T>
template<typename Arg0, typename Arg1, typename Arg2, typename Arg3>
static INLINE boost::intrusive_ptr<PtrT> Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct ( const Arg0 &  a0,
const Arg1 &  a1,
const Arg2 &  a2,
const Arg3 &  a3 
) [inline, static]

IntrusivePtrObjectPool.h117 行で定義されています。

00119         {
00120             T* const ret = Allocate();
00121             new (ret) T(a0, a1, a2, a3);
00122             return boost::intrusive_ptr<PtrT>(  ret );
00123         };

template<typename T, typename PtrT = T>
template<typename Arg0, typename Arg1, typename Arg2>
static INLINE boost::intrusive_ptr<PtrT> Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct ( const Arg0 &  a0,
const Arg1 &  a1,
const Arg2 &  a2 
) [inline, static]

IntrusivePtrObjectPool.h109 行で定義されています。

00110         {
00111             T* const ret = Allocate();
00112             new (ret) T(a0, a1, a2);
00113             return boost::intrusive_ptr<PtrT>(  ret );
00114         };

template<typename T, typename PtrT = T>
template<typename Arg0, typename Arg1>
static INLINE boost::intrusive_ptr<PtrT> Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct ( const Arg0 &  a0,
const Arg1 &  a1 
) [inline, static]

IntrusivePtrObjectPool.h101 行で定義されています。

00102         {
00103             T* const ret = Allocate();
00104             new (ret) T(a0, a1);
00105             return boost::intrusive_ptr<PtrT>(  ret );
00106         };

template<typename T, typename PtrT = T>
template<typename Arg0>
static INLINE boost::intrusive_ptr<PtrT> Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct ( const Arg0 &  a0  )  [inline, static]

IntrusivePtrObjectPool.h93 行で定義されています。

00094         {
00095             T* const ret = Allocate();
00096             new (ret) T(a0);
00097             return boost::intrusive_ptr<PtrT>(  ret );
00098         };

template<typename T, typename PtrT = T>
static INLINE boost::intrusive_ptr<PtrT> Onikiri::PooledIntrusivePtrObject< T, PtrT >::Construct (  )  [inline, static]

IntrusivePtrObjectPool.h85 行で定義されています。

参照元 Onikiri::CacheMissedAccessList::AddList()Onikiri::Retirer::Commit()Onikiri::Pipeline::EnterPipeline()Onikiri::Scheduler::Finished()Onikiri::CacheAccessRequestQueue::PushAccess()Onikiri::ExecUnitBase::RegisterDetectEvent()Onikiri::ExecUnitBase::RegisterFinishEvent()Onikiri::ExecUnitBase::RegisterRescheduleEvent()Onikiri::Scheduler::RegisterWakeUpEvent()Onikiri::Scheduler::WriteBackBegin()Onikiri::Scheduler::WriteBackEnd().

00086         {
00087             T* const ret = Allocate();
00088             new (ret) T();
00089             return boost::intrusive_ptr<PtrT>(  ret );
00090         };

Here is the caller graph for this function:

template<typename T, typename PtrT = T>
static INLINE void Onikiri::PooledIntrusivePtrObject< T, PtrT >::Destruct ( T *  ptr  )  [inline, static]

IntrusivePtrObjectPool.h79 行で定義されています。

00080         {
00081             ptr->~T();
00082             Deallocate(ptr);
00083         }


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:15:19 2013に生成されました。  doxygen 1.4.7