クラス Onikiri::PhysicalResourceNode

#include <ResourceNode.h>

Onikiri::PhysicalResourceNodeに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::PhysicalResourceNodeのコラボレーション図

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

Public 型

 INIT_POST_CONNECTION
 INIT_PRE_CONNECTION
enum  InitPhase { INIT_PRE_CONNECTION, INIT_POST_CONNECTION }
enum  SimulationMode { SM_EMULATION, SM_INORDER, SM_SIMULATION }
 SM_EMULATION
 SM_INORDER
 SM_SIMULATION

Public メソッド

virtual void ChangeSimulationMode (SimulationMode mode)
virtual ResourceConnectionResult ConnectResource (PhysicalResourceBaseArray &srcArray, const String &srcName, const String &to, bool chained)
virtual void Finalize ()
const PhysicalResourceNodeInfoGetInfo ()
const StringGetName () const
const ParamXMLPathGetParamPath () const
const ParamXMLPathGetResultPath () const
const ParamXMLPathGetResultRootPath () const
const StringGetTypeName () const
virtual void Initialize (InitPhase phase)=0
 PhysicalResourceNode ()
void ReleaseParam ()
void SetInfo (const PhysicalResourceNodeInfo &info)
void SetTypeConverter (ResourceTypeConverterIF *)
void ValidateConnection ()
const char * Who () const
 ~PhysicalResourceNode ()

Protected 型

typedef PhysicalResourceArray<
PhysicalResourceNode
PhysicalResourceBaseArray

Protected メソッド

 BEGIN_PARAM_PATH (GetResultRootPath()) BEGIN_PARAM_PATH(GetResultPath()) PARAM_ENTRY("@RID"
void CheckConnection (PhysicalResourceBaseArray &res, const String &to, const ResourceConnectionResult &result)
template<class T>
void CheckNodeInitialized (const String &nodeName, PhysicalResourceArray< T > &resArray)
template<class T>
void CheckNodeInitialized (const String &nodeName, T *resPtr)
void CheckNodeIsScalar (PhysicalResourceBaseArray &srcArray, const String &dstName, const String &srcName)
template<typename ClassType, typename ArrayValueType>
void ConnectResourceEntry (void(ClassType::*setter)(ArrayValueType *), PhysicalResourceBaseArray &srcArray, const char *typeName, const char *dstName, const String &srcName, const String &to, ResourceConnectionResult *result)
template<typename ClassType, typename ArrayValueType>
void ConnectResourceEntry (void(ClassType::*setter)(PhysicalResourceArray< ArrayValueType > &), PhysicalResourceBaseArray &srcArray, const char *typeName, const char *dstName, const String &srcName, const String &to, ResourceConnectionResult *result)
template<typename ArrayValueType>
void ConnectResourceEntry (ArrayValueType *&resEntry, PhysicalResourceBaseArray &srcArray, const char *typeName, const char *dstName, const String &srcName, const String &to, ResourceConnectionResult *result)
template<typename ArrayValueType>
void ConnectResourceEntry (PhysicalResourceArray< ArrayValueType > &resArray, PhysicalResourceBaseArray &srcArray, const char *typeName, const char *dstName, const String &srcName, const String &to, ResourceConnectionResult *result)
template<typename ArrayValueType>
void CopyResourceArray (const String &typeName, PhysicalResourceArray< ArrayValueType > &resArray, PhysicalResourceBaseArray &srcArray)
template<typename T>
void DynamicCast (T **ptr, const String &typeName, PhysicalResourceNode *orgPtr)

Protected 変数

int m_connectedEntryCount
PhysicalResourceNodeInfo m_info
bool m_initialized
 m_rid
int m_totalEntryCount
ResourceTypeConverterIFm_typeConverter
String m_who

説明

ResourceNode.h123 行で定義されています。


型定義

typedef PhysicalResourceArray<PhysicalResourceNode> Onikiri::PhysicalResourceNode::PhysicalResourceBaseArray [protected]

ResourceNode.h137 行で定義されています。


列挙型

enum Onikiri::PhysicalResourceNode::InitPhase

列挙型の値:
INIT_PRE_CONNECTION 
INIT_POST_CONNECTION 

ResourceNode.h355 行で定義されています。

00356         {
00357             // After constructing and before object connection.
00358             // ParamExchange::LoadParam() must be called in this phase or later.
00359             INIT_PRE_CONNECTION,    
00360 
00361             // After connection
00362             INIT_POST_CONNECTION
00363         };

enum Onikiri::PhysicalResourceNode::SimulationMode

列挙型の値:
SM_EMULATION 
SM_INORDER 
SM_SIMULATION 

ResourceNode.h372 行で定義されています。

00373         {
00374             SM_EMULATION,
00375             SM_INORDER,
00376             SM_SIMULATION
00377         };


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

PhysicalResourceNode::PhysicalResourceNode (  ) 

ResourceNode.cpp37 行で定義されています。

参照先 m_connectedEntryCountm_initializedm_ridm_totalEntryCountm_typeConverter.

00038 {
00039     m_typeConverter = NULL;
00040     m_rid = RID_INVALID;
00041     m_initialized = false;
00042     m_totalEntryCount = 0;
00043     m_connectedEntryCount = 0;
00044 }

PhysicalResourceNode::~PhysicalResourceNode (  ) 

ResourceNode.cpp46 行で定義されています。

参照先 Onikiri::ParamExchange::IsParameterReleased()m_infoOnikiri::PhysicalResourceNodeInfo::nameTHROW_RUNTIME_ERROR.

00047 {
00048     if( !IsParameterReleased() ){
00049         THROW_RUNTIME_ERROR(
00050             "'ReleaseParam()' was not called in the node '%s'.\n"
00051             "A class inherited from the 'PhysicalResourceNode' "
00052             "must call 'ReleaseParam()' before its destruction."
00053             "This method call can not be automated, "
00054             "because the destructor of the 'PhysicalResourceNode' "
00055             "can not touch the member of the inherited class.",
00056             m_info.name.c_str()
00057         );
00058     }
00059 
00060 }

関数の呼び出しグラフ:


関数

Onikiri::PhysicalResourceNode::BEGIN_PARAM_PATH ( GetResultRootPath()   )  [protected]

virtual void Onikiri::PhysicalResourceNode::ChangeSimulationMode ( SimulationMode  mode  )  [inline, virtual]

Onikiri::InorderListOnikiri::CacheOnikiri::CacheSystemで再定義されています。

ResourceNode.h378 行で定義されています。

00378 {};

void PhysicalResourceNode::CheckConnection ( PhysicalResourceBaseArray res,
const String to,
const ResourceConnectionResult result 
) [protected]

ResourceNode.cpp140 行で定義されています。

参照先 Onikiri::ResourceConnectionResult::connectedCountOnikiri::ResourceConnectionResult::entryCountOnikiri::PhysicalResourceArray< T >::GetSize()m_connectedEntryCountm_infom_totalEntryCountOnikiri::PhysicalResourceNodeInfo::nameTHROW_RUNTIME_ERROR.

00144  {
00145     if( srcArray.GetSize() == 0 ){
00146         THROW_RUNTIME_ERROR(
00147             "The passed resource array has no entry."
00148         );
00149     }
00150 
00151     PhysicalResourceNode* res = srcArray[0];
00152 
00153     if( result.connectedCount == 0 ){
00154         const char* srcName     = res->m_info.name.c_str();
00155         const char* toName      = (to == "") ? srcName : to.c_str();
00156         const char* nodeName    = m_info.name.c_str();
00157         THROW_RUNTIME_ERROR(
00158             "Could not connect '%s' to '%s' in '%s'. "
00159             "Does '%s' has a member '%s'?",
00160             srcName, toName, nodeName,
00161             nodeName, toName
00162         );
00163     }
00164     else if( result.connectedCount > 1 ){
00165         THROW_RUNTIME_ERROR(
00166             "The node '%s' is connected to the node '%s' more than once.\n"
00167             "Use 'Connection' and specify a name ('To' attribute) that the node is connected to.",
00168             res->m_info.name.c_str(),
00169             m_info.name.c_str()
00170         );
00171     }
00172 
00173     m_totalEntryCount = result.entryCount;
00174     m_connectedEntryCount++;
00175 }

関数の呼び出しグラフ:

template<class T>
void Onikiri::PhysicalResourceNode::CheckNodeInitialized ( const String nodeName,
PhysicalResourceArray< T > &  resArray 
) [inline, protected]

ResourceNode.h305 行で定義されています。

参照先 Onikiri::PhysicalResourceArray< T >::GetSize()m_infoOnikiri::PhysicalResourceNodeInfo::nameTHROW_RUNTIME_ERROR.

00308          {
00309             if( resArray.GetSize() == 0 ){
00310                 THROW_RUNTIME_ERROR(
00311                     "'%s.%s' is not set.",
00312                     m_info.name.c_str(),
00313                     nodeName.c_str()
00314                 );
00315             }
00316         }

関数の呼び出しグラフ:

template<class T>
void Onikiri::PhysicalResourceNode::CheckNodeInitialized ( const String nodeName,
T *  resPtr 
) [inline, protected]

ResourceNode.h291 行で定義されています。

参照先 m_infoOnikiri::PhysicalResourceNodeInfo::nameTHROW_RUNTIME_ERROR.

参照元 Onikiri::Thread::Initialize()Onikiri::RegisterFile::Initialize()Onikiri::LatPred::Initialize()Onikiri::RMT::Initialize()Onikiri::PerfectMemDepPred::Initialize()Onikiri::MemDepPred::Initialize()Onikiri::ConservativeMemDepPred::Initialize()Onikiri::RAS::Initialize()Onikiri::GShare::Initialize()Onikiri::GlobalHistory::Initialize()Onikiri::BPred::Initialize()Onikiri::Scheduler::Initialize()Onikiri::RoundRobinFetchThreadSteerer::Initialize()Onikiri::IcountFetchThreadSteerer::Initialize()Onikiri::Fetcher::Initialize()Onikiri::OpCodeDispatchSteerer::Initialize()Onikiri::MemOrderManager::Initialize()Onikiri::MemExecUnit::Initialize()Onikiri::ExecUnitBase::Initialize()Onikiri::Core::Initialize().

00294          {
00295             if( resPtr == 0 ){
00296                 THROW_RUNTIME_ERROR(
00297                     "'%s.%s' is not set.",
00298                     m_info.name.c_str(),
00299                     nodeName.c_str()
00300                 );
00301             }
00302         }

Here is the caller graph for this function:

void PhysicalResourceNode::CheckNodeIsScalar ( PhysicalResourceBaseArray srcArray,
const String dstName,
const String srcName 
) [protected]

ResourceNode.cpp178 行で定義されています。

参照先 Onikiri::PhysicalResourceArray< T >::GetSize()m_infoOnikiri::PhysicalResourceNodeInfo::nameTHROW_RUNTIME_ERROR.

参照元 ConnectResourceEntry().

00182  {
00183     if( srcArray.GetSize() != 1 ){
00184         THROW_RUNTIME_ERROR( 
00185             "Cannot connect the array node '%s' to the scalar node '%s.%s'.\n"
00186             "Maybe you set a thread count that is less than a core count.\n"
00187             "A thread count is 'total' thread count in all cores, and "
00188             "a thread count is always bigger or equal to core count.",
00189             orgName.c_str(),
00190             m_info.name.c_str(),
00191             targetName.c_str()
00192         );
00193     }
00194 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

ResourceConnectionResult PhysicalResourceNode::ConnectResource ( PhysicalResourceBaseArray srcArray,
const String srcName,
const String to,
bool  chained 
) [virtual]

ResourceNode.cpp197 行で定義されています。

参照先 m_infoTHROW_RUNTIME_ERROROnikiri::PhysicalResourceNodeInfo::typeName.

00202  {
00203     // If this method was pure virtual function and BEGIN_RESOURCE_MAP was not defined,
00204     // an error message would be "ConnectResource is not defined in derived class".
00205     // This error message is not easy to understand the cause of the problem, 
00206     // thus use THROW_RUNTIME_ERROR and notify it.
00207     THROW_RUNTIME_ERROR(
00208         "Invalid connection.\nThe resource map is not defined in the '%s'.",
00209         m_info.typeName.c_str()
00210     );
00211     /*
00212     printf( 
00213     "'%s[%d]' : %s[%d] is connected.\n", 
00214     m_name.c_str(), m_rid,
00215     res->GetName().c_str(), res->GetRID()
00216     );
00217     */
00218     return ResourceConnectionResult();
00219 }

template<typename ClassType, typename ArrayValueType>
void Onikiri::PhysicalResourceNode::ConnectResourceEntry ( void(ClassType::*)(ArrayValueType *)  setter,
PhysicalResourceBaseArray srcArray,
const char *  typeName,
const char *  dstName,
const String srcName,
const String to,
ResourceConnectionResult result 
) [inline, protected]

ResourceNode.h238 行で定義されています。

参照先 ASSERTCheckNodeIsScalar()Onikiri::ResourceConnectionResult::connectedCountDynamicCast()Onikiri::PhysicalResourceArray< T >::GetSize().

00246          {
00247             ASSERT( srcArray.GetSize() > 0 );
00248 
00249             ArrayValueType* res;
00250             DynamicCast( &res, typeName, srcArray[0] );
00251 
00252             // Test dynamic cast and names
00253             if( res && ( (to == "" && srcName == dstName ) || to == dstName ) ){
00254                 CheckNodeIsScalar( srcArray, dstName, srcName );
00255                 // Call the setter by using the pointer of the derived class.
00256                 (dynamic_cast<ClassType*>(this)->*setter)( res );   
00257                 result->connectedCount++;
00258             }
00259         }

関数の呼び出しグラフ:

template<typename ClassType, typename ArrayValueType>
void Onikiri::PhysicalResourceNode::ConnectResourceEntry ( void(ClassType::*)(PhysicalResourceArray< ArrayValueType > &)  setter,
PhysicalResourceBaseArray srcArray,
const char *  typeName,
const char *  dstName,
const String srcName,
const String to,
ResourceConnectionResult result 
) [inline, protected]

ResourceNode.h209 行で定義されています。

参照先 ASSERTOnikiri::ResourceConnectionResult::connectedCountCopyResourceArray()DynamicCast()Onikiri::PhysicalResourceArray< T >::GetSize().

00217          {
00218             ASSERT( srcArray.GetSize() > 0 );
00219 
00220             ArrayValueType* res;
00221             DynamicCast( &res, typeName, srcArray[0] );
00222 
00223             // Test dynamic cast and names
00224             if( res && ( (to == "" && srcName == dstName ) || to == dstName ) ){
00225 
00226                 PhysicalResourceArray<ArrayValueType> resArray;
00227                 CopyResourceArray( typeName, resArray, srcArray );
00228 
00229                 // Call the setter by using the pointer of the derived class.
00230                 (dynamic_cast<ClassType*>(this)->*setter)( resArray );
00231 
00232                 result->connectedCount++;
00233             }
00234         }

関数の呼び出しグラフ:

template<typename ArrayValueType>
void Onikiri::PhysicalResourceNode::ConnectResourceEntry ( ArrayValueType *&  resEntry,
PhysicalResourceBaseArray srcArray,
const char *  typeName,
const char *  dstName,
const String srcName,
const String to,
ResourceConnectionResult result 
) [inline, protected]

ResourceNode.h185 行で定義されています。

参照先 ASSERTCheckNodeIsScalar()Onikiri::ResourceConnectionResult::connectedCountDynamicCast()Onikiri::PhysicalResourceArray< T >::GetSize().

00193          {
00194             ASSERT( srcArray.GetSize() > 0 );
00195 
00196             ArrayValueType* res;
00197             DynamicCast( &res, typeName, srcArray[0] );
00198 
00199             // Test dynamic cast and names
00200             if( res && ( (to == "" && srcName == dstName ) || to == dstName ) ){
00201                 CheckNodeIsScalar( srcArray, dstName, srcName );
00202                 resEntry = res;
00203                 result->connectedCount++;
00204             }
00205         }

関数の呼び出しグラフ:

template<typename ArrayValueType>
void Onikiri::PhysicalResourceNode::ConnectResourceEntry ( PhysicalResourceArray< ArrayValueType > &  resArray,
PhysicalResourceBaseArray srcArray,
const char *  typeName,
const char *  dstName,
const String srcName,
const String to,
ResourceConnectionResult result 
) [inline, protected]

ResourceNode.h161 行で定義されています。

参照先 ASSERTOnikiri::ResourceConnectionResult::connectedCountCopyResourceArray()DynamicCast()Onikiri::PhysicalResourceArray< T >::GetSize().

00169          {
00170             ASSERT( srcArray.GetSize() > 0 );
00171 
00172             ArrayValueType* res;
00173             DynamicCast( &res, typeName, srcArray[0] );
00174 
00175             // Test dynamic cast and names
00176             if( res && ( (to == "" && srcName == dstName ) || to == dstName ) ){
00177                 CopyResourceArray( typeName, resArray, srcArray );
00178                 result->connectedCount++;
00179             }
00180         }

関数の呼び出しグラフ:

template<typename ArrayValueType>
void Onikiri::PhysicalResourceNode::CopyResourceArray ( const String typeName,
PhysicalResourceArray< ArrayValueType > &  resArray,
PhysicalResourceBaseArray srcArray 
) [inline, protected]

ResourceNode.h141 行で定義されています。

参照先 DynamicCast()Onikiri::PhysicalResourceArray< T >::GetSize()Onikiri::PhysicalResourceArray< T >::Resize()THROW_RUNTIME_ERROR.

参照元 ConnectResourceEntry().

00145         {
00146             resArray.Resize( srcArray.GetSize() );
00147             for( int i = 0; i < srcArray.GetSize(); i++ ){
00148                 ArrayValueType* res;
00149                 DynamicCast( &res, typeName, srcArray[i] );
00150                 if(!res){
00151                     THROW_RUNTIME_ERROR( "dynamic cast failed." );
00152                 }
00153 
00154                 resArray[i] = res;
00155             }
00156         }

関数の呼び出しグラフ:

Here is the caller graph for this function:

template<typename T>
void Onikiri::PhysicalResourceNode::DynamicCast ( T **  ptr,
const String typeName,
PhysicalResourceNode orgPtr 
) [inline, protected]

ResourceNode.h263 行で定義されています。

参照先 Onikiri::ResourceTypeConverterIF::DynamicCast()m_typeConverterTHROW_RUNTIME_ERROR.

参照元 ConnectResourceEntry()CopyResourceArray().

00267         {
00268             if(!m_typeConverter){
00269                 THROW_RUNTIME_ERROR( "A resource type converter is not set." );
00270             }
00271 
00272             *ptr = 
00273                 static_cast<T*>(
00274                     m_typeConverter->DynamicCast( typeName, orgPtr )
00275                 );
00276         };

関数の呼び出しグラフ:

Here is the caller graph for this function:

virtual void Onikiri::PhysicalResourceNode::Finalize (  )  [inline, virtual]

Onikiri::SampleAlwaysHitBrDirPredictorOnikiri::SampleHookModuleOnikiri::SampleNullOnikiri::SamplePrefetcherOnikiri::ExecUnitBaseOnikiri::CacheSystemOnikiri::MemOrderManagerOnikiri::DispatcherOnikiri::FetcherOnikiri::IcountFetchThreadSteererOnikiri::RoundRobinFetchThreadSteererOnikiri::RenamerOnikiri::AgeIssueSelectorOnikiri::InorderIssueSelectorOnikiri::IssueSelectorOnikiri::RecovererOnikiri::ForwardEmulatorで再定義されています。

ResourceNode.h369 行で定義されています。

参照元 Onikiri::SamplePrefetcher::Finalize().

00369 {};

Here is the caller graph for this function:

const PhysicalResourceNodeInfo & PhysicalResourceNode::GetInfo (  ) 

ResourceNode.cpp83 行で定義されています。

参照先 m_info.

00084 {
00085     return m_info;
00086 }

const String & PhysicalResourceNode::GetName (  )  const

ResourceNode.cpp93 行で定義されています。

参照先 m_infoOnikiri::PhysicalResourceNodeInfo::name.

参照元 Onikiri::CacheSystem::InitCacheHierarchy()SetInfo().

00094 {
00095     return m_info.name;
00096 }

Here is the caller graph for this function:

const ParamXMLPath & PhysicalResourceNode::GetParamPath (  )  const

ResourceNode.cpp103 行で定義されています。

参照先 m_infom_initializedOnikiri::PhysicalResourceNodeInfo::paramPathTHROW_RUNTIME_ERROR.

00104 {
00105     if( !m_initialized ){
00106         THROW_RUNTIME_ERROR(
00107             "This physical resource is not initialized. "
00108             "Does call LoadParam() in a constructor? "
00109             "LoadParam() must be called in or after INIT_PRE_CONNECTION phase."
00110         );
00111     }
00112 
00113     return m_info.paramPath;
00114 }

const ParamXMLPath & PhysicalResourceNode::GetResultPath (  )  const

ResourceNode.cpp116 行で定義されています。

参照先 m_infom_initializedOnikiri::PhysicalResourceNodeInfo::resultPathTHROW_RUNTIME_ERROR.

00117 {
00118     if( !m_initialized ){
00119         THROW_RUNTIME_ERROR(
00120             "This physical resource is not initialized. "
00121             "This error here may simply mean LoadParam() is called in a constructor. "
00122             "LoadParam() must be called in or after INIT_PRE_CONNECTION phase."
00123         );
00124     }
00125 
00126     return m_info.resultPath;
00127 }

const ParamXMLPath & PhysicalResourceNode::GetResultRootPath (  )  const

ResourceNode.cpp129 行で定義されています。

参照先 m_infoOnikiri::PhysicalResourceNodeInfo::resultRootPath.

00130 {
00131     return m_info.resultRootPath;
00132 }

const String & PhysicalResourceNode::GetTypeName (  )  const

ResourceNode.cpp98 行で定義されています。

参照先 m_infoOnikiri::PhysicalResourceNodeInfo::typeName.

参照元 SetInfo().

00099 {
00100     return m_info.typeName;
00101 }

Here is the caller graph for this function:

virtual void Onikiri::PhysicalResourceNode::Initialize ( InitPhase  phase  )  [pure virtual]

void PhysicalResourceNode::ReleaseParam (  )  [virtual]

Onikiri::ParamExchangeを再定義しています。

ResourceNode.cpp62 行で定義されています。

参照先 Onikiri::ParamExchangeBase::ProcessParamMap()Onikiri::ParamExchange::ReleaseParam().

参照元 Onikiri::SystemManager::Finalize()Onikiri::ForwardEmulator::Finalize()Onikiri::Recoverer::Finalize()Onikiri::IssueSelector::Finalize()Onikiri::InorderIssueSelector::Finalize()Onikiri::AgeIssueSelector::Finalize()Onikiri::Renamer::Finalize()Onikiri::RoundRobinFetchThreadSteerer::Finalize()Onikiri::IcountFetchThreadSteerer::Finalize()Onikiri::Fetcher::Finalize()Onikiri::Dispatcher::Finalize()Onikiri::MemOrderManager::Finalize()Onikiri::CacheSystem::Finalize()Onikiri::ExecUnitBase::Finalize()Onikiri::SamplePrefetcher::Finalize()Onikiri::SampleNull::Finalize()Onikiri::SampleHookModule::Finalize()Onikiri::SampleAlwaysHitBrDirPredictor::Finalize()Onikiri::BPred::~BPred()Onikiri::BTB::~BTB()Onikiri::Cache::~Cache()Onikiri::CheckpointMaster::~CheckpointMaster()Onikiri::ConservativeMemDepPred::~ConservativeMemDepPred()Onikiri::Core::~Core()Onikiri::CounterBasedHitMissPred::~CounterBasedHitMissPred()Onikiri::EmulatorWrapper::~EmulatorWrapper()Onikiri::ExecLatencyInfo::~ExecLatencyInfo()Onikiri::GlobalClock::~GlobalClock()Onikiri::GlobalHistory::~GlobalHistory()Onikiri::GShare::~GShare()Onikiri::InorderList::~InorderList()Onikiri::LatPred::~LatPred()Onikiri::MemDepPred::~MemDepPred()Onikiri::MemExecUnit::~MemExecUnit()Onikiri::OpCodeDispatchSteerer::~OpCodeDispatchSteerer()Onikiri::OptimisticMemDepPred::~OptimisticMemDepPred()Onikiri::PerfectMemDepPred::~PerfectMemDepPred()Onikiri::PHT::~PHT()Onikiri::RAS::~RAS()Onikiri::RegisterFile::~RegisterFile()Onikiri::RegisterFreeList::~RegisterFreeList()Onikiri::Retirer::~Retirer()Onikiri::RMT::~RMT()Onikiri::Scheduler::~Scheduler()Onikiri::StaticHitMissPred< t_hit >::~StaticHitMissPred()Onikiri::StoreSet::~StoreSet()Onikiri::StreamPrefetcher::~StreamPrefetcher()Onikiri::StridePrefetcher::~StridePrefetcher()Onikiri::Thread::~Thread().

関数の呼び出しグラフ:

Here is the caller graph for this function:

void PhysicalResourceNode::SetInfo ( const PhysicalResourceNodeInfo info  ) 

ResourceNode.cpp68 行で定義されています。

参照先 GetName()GetTypeName()m_infom_initializedm_whoOnikiri::PhysicalResourceNodeInfo::nameOnikiri::PhysicalResourceNodeInfo::paramPathOnikiri::PhysicalResourceNodeInfo::resultPathOnikiri::PhysicalResourceNodeInfo::resultRootPathTHROW_RUNTIME_ERROROnikiri::ParamXMLPath::ToString()Onikiri::PhysicalResourceNodeInfo::typeName.

参照元 Onikiri::SystemManager::InitializeResources().

00069 {
00070     m_initialized = true;
00071     m_info = info;
00072     if( info.name == "" ||
00073         info.typeName == "" ||
00074         info.paramPath.ToString() == "" ||
00075         info.resultPath.ToString() == "" ||
00076         info.resultRootPath.ToString() == ""
00077     ){
00078         THROW_RUNTIME_ERROR( "The passed info is invalid." );
00079     }
00080     m_who = GetName() + "(" + GetTypeName() + ")";
00081 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void PhysicalResourceNode::SetTypeConverter ( ResourceTypeConverterIF  ) 

ResourceNode.cpp134 行で定義されています。

参照先 m_typeConverter.

参照元 Onikiri::ResourceFactory::CreateInstance().

00135 {
00136     m_typeConverter = converter;
00137 }

Here is the caller graph for this function:

void PhysicalResourceNode::ValidateConnection (  ) 

ResourceNode.cpp222 行で定義されています。

参照先 m_connectedEntryCountm_infom_totalEntryCountOnikiri::PhysicalResourceNodeInfo::namenameTHROW_RUNTIME_ERROR.

00223 {
00224     if( m_connectedEntryCount < m_totalEntryCount ){
00225         const char* name = m_info.name.c_str();
00226         THROW_RUNTIME_ERROR( "There are resouce members that are not connected correctly in %s.", name );
00227     }
00228 }

const char * PhysicalResourceNode::Who (  )  const

Onikiri::CoreOnikiri::PipelineNodeBaseで再定義されています。

ResourceNode.cpp88 行で定義されています。

参照先 m_who.

参照元 Onikiri::PipelineNodeBase::Who()Onikiri::Core::Who().

00089 {
00090     return m_who.c_str();
00091 }

Here is the caller graph for this function:


変数

int Onikiri::PhysicalResourceNode::m_connectedEntryCount [protected]

ResourceNode.h133 行で定義されています。

参照元 CheckConnection()PhysicalResourceNode()ValidateConnection().

PhysicalResourceNodeInfo Onikiri::PhysicalResourceNode::m_info [protected]

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

参照元 CheckConnection()CheckNodeInitialized()CheckNodeIsScalar()ConnectResource()GetInfo()GetName()GetParamPath()GetResultPath()GetResultRootPath()GetTypeName()SetInfo()ValidateConnection()~PhysicalResourceNode().

bool Onikiri::PhysicalResourceNode::m_initialized [protected]

Onikiri::PipelineNodeBaseで再定義されています。

ResourceNode.h128 行で定義されています。

参照元 GetParamPath()GetResultPath()PhysicalResourceNode()SetInfo().

Onikiri::PhysicalResourceNode::m_rid [protected]

Onikiri::PhysicalResourceBaseを再定義しています。

ResourceNode.h323 行で定義されています。

参照元 PhysicalResourceNode().

int Onikiri::PhysicalResourceNode::m_totalEntryCount [protected]

ResourceNode.h132 行で定義されています。

参照元 CheckConnection()PhysicalResourceNode()ValidateConnection().

ResourceTypeConverterIF* Onikiri::PhysicalResourceNode::m_typeConverter [protected]

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

参照元 DynamicCast()PhysicalResourceNode()SetTypeConverter().

String Onikiri::PhysicalResourceNode::m_who [protected]

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

参照元 SetInfo()Who().


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