クラス テンプレート Onikiri::HookPoint< CallerT, ParamT >

#include <Hook.h>

Onikiri::HookPoint< CallerT, ParamT >のコラボレーション図

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

Public 型

typedef CallerT CallerType
typedef HookParameter< CallerType,
ParameterType
HookParameterType
typedef ParamT ParameterType

Public メソッド

int CountAround ()
bool HasAround ()
 HookPoint ()
INLINE bool IsAnyHookRegistered ()
template<typename T>
void Register (T *object, typename HookFunctionWithRawParam< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithOpAndRawParam< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithCallerAndRawParam< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithCallerAndOp< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithCaller< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithOp< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithSeparateParam< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunctionWithParam< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
template<typename T>
void Register (T *object, typename HookFunction< T >::FuncType func, int priority, HookType::Type hookType=HookType::HOOK_AFTER)
void Trigger (CallerType *caller, HookType::Type hookType)
void Trigger (CallerType *caller, ParameterType *parameter, HookType::Type hookType)
void Trigger (OpIterator opIterator, CallerType *caller, HookType::Type hookType)
void Trigger (OpIterator opIterator, CallerType *caller, ParameterType *parameter, HookType::Type hookType)
virtual ~HookPoint ()

構成

struct  ComparePriority
class  HookFunction
class  HookFunctionBase
class  HookFunctionWithCaller
class  HookFunctionWithCallerAndOp
class  HookFunctionWithCallerAndRawParam
class  HookFunctionWithOp
class  HookFunctionWithOpAndRawParam
class  HookFunctionWithParam
class  HookFunctionWithRawParam
class  HookFunctionWithSeparateParam

説明

template<typename CallerT, typename ParamT>
class Onikiri::HookPoint< CallerT, ParamT >

Hook.h126 行で定義されています。


型定義

template<typename CallerT, typename ParamT>
typedef CallerT Onikiri::HookPoint< CallerT, ParamT >::CallerType

Hook.h129 行で定義されています。

template<typename CallerT, typename ParamT>
typedef HookParameter<CallerType, ParameterType> Onikiri::HookPoint< CallerT, ParamT >::HookParameterType

Hook.h131 行で定義されています。

template<typename CallerT, typename ParamT>
typedef ParamT Onikiri::HookPoint< CallerT, ParamT >::ParameterType

Hook.h130 行で定義されています。


コンストラクタとデストラクタ

template<typename CallerT, typename ParamT>
Onikiri::HookPoint< CallerT, ParamT >::HookPoint (  )  [inline]

Hook.h326 行で定義されています。

00327         {
00328             m_hookExists = false;
00329         }

template<typename CallerT, typename ParamT>
virtual Onikiri::HookPoint< CallerT, ParamT >::~HookPoint (  )  [inline, virtual]

Hook.h331 行で定義されています。

00332         {
00333             ReleaseHookVector(m_beforeFunction);
00334             ReleaseHookVector(m_aroundFunction);
00335             ReleaseHookVector(m_afterFunction);
00336         }


関数

template<typename CallerT, typename ParamT>
int Onikiri::HookPoint< CallerT, ParamT >::CountAround (  )  [inline]

Hook.h451 行で定義されています。

00452         {
00453             return static_cast<int>(m_aroundFunction.size());
00454         }

template<typename CallerT, typename ParamT>
bool Onikiri::HookPoint< CallerT, ParamT >::HasAround (  )  [inline]

Hook.h445 行で定義されています。

参照元 Onikiri::HookSectionAfter()Onikiri::HookSectionBefore().

00446         {
00447             return !m_aroundFunction.empty();
00448         }

Here is the caller graph for this function:

template<typename CallerT, typename ParamT>
INLINE bool Onikiri::HookPoint< CallerT, ParamT >::IsAnyHookRegistered (  )  [inline]

Hook.h457 行で定義されています。

00458         {
00459             return m_hookExists;
00460         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithRawParam< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h439 行で定義されています。

00440         {
00441             Register(GetHookFunction(hookType), new HookFunctionWithRawParam<T>(object, func), priority);
00442         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithOpAndRawParam< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h432 行で定義されています。

00433         {
00434             Register(GetHookFunction(hookType), new HookFunctionWithOpAndRawParam<T>(object, func), priority);
00435         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithCallerAndRawParam< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h425 行で定義されています。

00426         {
00427             Register(GetHookFunction(hookType), new HookFunctionWithCallerAndRawParam<T>(object, func), priority);
00428         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithCallerAndOp< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h418 行で定義されています。

00419         {
00420             Register(GetHookFunction(hookType), new HookFunctionWithCallerAndOp<T>(object, func), priority);
00421         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithCaller< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h411 行で定義されています。

00412         {
00413             Register(GetHookFunction(hookType), new HookFunctionWithCaller<T>(object, func), priority);
00414         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithOp< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h404 行で定義されています。

00405         {
00406             Register(GetHookFunction(hookType), new HookFunctionWithOp<T>(object, func), priority);
00407         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithSeparateParam< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h397 行で定義されています。

00398         {
00399             Register(GetHookFunction(hookType), new HookFunctionWithSeparateParam<T>(object, func), priority);
00400         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunctionWithParam< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h390 行で定義されています。

00391         {
00392             Register(GetHookFunction(hookType), new HookFunctionWithParam<T>(object, func), priority);
00393         }

template<typename CallerT, typename ParamT>
template<typename T>
void Onikiri::HookPoint< CallerT, ParamT >::Register ( T *  object,
typename HookFunction< T >::FuncType  func,
int  priority,
HookType::Type  hookType = HookType::HOOK_AFTER 
) [inline]

Hook.h383 行で定義されています。

参照元 Onikiri::HookPoint< Onikiri::SimulationSystem, Onikiri::SimulationSystem >::Register().

00384         {
00385             Register(GetHookFunction(hookType), new HookFunction<T>(object, func), priority);
00386         }

Here is the caller graph for this function:

template<typename CallerT, typename ParamT>
void Onikiri::HookPoint< CallerT, ParamT >::Trigger ( CallerType caller,
HookType::Type  hookType 
) [inline]

Hook.h367 行で定義されています。

00368         {
00369             if( !IsHookExists(hookType) )
00370                 return;
00371             Trigger( OpIterator(0), caller, 0, hookType );
00372         }

template<typename CallerT, typename ParamT>
void Onikiri::HookPoint< CallerT, ParamT >::Trigger ( CallerType caller,
ParameterType parameter,
HookType::Type  hookType 
) [inline]

Hook.h357 行で定義されています。

00358         {
00359             if( !IsHookExists(hookType) )
00360                 return;
00361 
00362             HookParameterType hookParameter( OpIterator(0), caller, parameter );
00363             Trigger( GetHookFunction(hookType), &hookParameter );
00364         }

template<typename CallerT, typename ParamT>
void Onikiri::HookPoint< CallerT, ParamT >::Trigger ( OpIterator  opIterator,
CallerType caller,
HookType::Type  hookType 
) [inline]

Hook.h349 行で定義されています。

00350         {
00351             if( !IsHookExists(hookType) )
00352                 return;
00353             Trigger( opIterator, caller, 0, hookType);
00354         }

template<typename CallerT, typename ParamT>
void Onikiri::HookPoint< CallerT, ParamT >::Trigger ( OpIterator  opIterator,
CallerType caller,
ParameterType parameter,
HookType::Type  hookType 
) [inline]

Hook.h339 行で定義されています。

参照元 Onikiri::HookSectionAfter()Onikiri::HookSectionBefore()Onikiri::HookPoint< Onikiri::SimulationSystem, Onikiri::SimulationSystem >::Trigger().

00340         {
00341             if( !IsHookExists(hookType) )
00342                 return;
00343 
00344             HookParameterType hookParameter( opIterator, caller, parameter );
00345             Trigger( GetHookFunction(hookType), &hookParameter );
00346         }

Here is the caller graph for this function:


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