クラス Onikiri::ParamExchangeBase

#include <ParamExchange.h>

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

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

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

Public メソッド

template<typename T>
void ChainParamMap (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, std::vector< T > *param, bool save)
template<typename T>
void ChainParamMap (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, T *param, bool save)
const ParamXMLPathGetRootPath ()
ParamXMLPath MakeIndexedPath (const String &base, int index)
template<typename ValueT>
void ParamBindingEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, ValueT *val, const ParamDB::Binding< ValueT > *bindings, int bindingsSize, bool save)
template<typename ValueT>
void ParamEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, ValueT *val, bool save)
 ParamExchangeBase ()
virtual void ProcessParamMap (bool save)=0
template<typename ValueT>
void ResultEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, const ValueT &val)
template<typename ValueT>
void ResultRateEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, const std::vector< ValueT > &n, const std::vector< ValueT > &d)
template<typename ValueT>
void ResultRateEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, const ValueT &numerator, const ValueT &denominator)
template<typename ValueT>
void ResultRateSumEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, const std::vector< ValueT > &n, const std::vector< ValueT > &d1, const std::vector< ValueT > &d2)
template<typename ValueT>
void ResultRateSumEntry (const ParamXMLPath &basePath, const ParamXMLPath &relativePath, const ValueT &numerator, const ValueT &denominator1, const ValueT &denominator2)
void SetRootPath (const ParamXMLPath &root)
virtual ~ParamExchangeBase ()

Protected 変数

ParamXMLPath m_rootPath

説明

ParamExchange.h192 行で定義されています。


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

Onikiri::ParamExchangeBase::ParamExchangeBase (  )  [inline]

ParamExchange.h350 行で定義されています。

00351         {
00352         };

virtual Onikiri::ParamExchangeBase::~ParamExchangeBase (  )  [inline, virtual]

ParamExchange.h354 行で定義されています。

00355         {
00356         };


関数

template<typename T>
void Onikiri::ParamExchangeBase::ChainParamMap ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
std::vector< T > *  param,
bool  save 
) [inline]

ParamExchange.h330 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::GetElementCount()MakeIndexedPath()Onikiri::OpClassCode::ToString().

00335          {
00336             size_t count = g_paramDB.GetElementCount( basePath + relativePath );
00337             if(param->size() < count) 
00338                 param->resize(count);
00339 
00340             for(size_t i = 0; i < param->size(); i++){
00341                 (*param)[i].SetRootPath(
00342                     MakeIndexedPath((basePath + relativePath).ToString(), (int)i) );
00343                 (*param)[i].ProcessParamMap(save);
00344             }
00345 
00346         }

関数の呼び出しグラフ:

template<typename T>
void Onikiri::ParamExchangeBase::ChainParamMap ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
T *  param,
bool  save 
) [inline]

ParamExchange.h319 行で定義されています。

00324          {
00325             param->SetRootPath( (basePath) + (relativePath) );
00326             param->ProcessParamMap( save );
00327         }

const ParamXMLPath& Onikiri::ParamExchangeBase::GetRootPath (  )  [inline]

ParamExchange.h204 行で定義されています。

参照先 m_rootPath.

00205         {
00206             return m_rootPath;
00207         }

ParamXMLPath Onikiri::ParamExchangeBase::MakeIndexedPath ( const String base,
int  index 
) [inline]

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

参照元 ChainParamMap().

00210         {
00211             return String(
00212                 base + 
00213                 "[" + boost::lexical_cast<String>(index) + "]/");
00214         }

Here is the caller graph for this function:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ParamBindingEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
ValueT *  val,
const ParamDB::Binding< ValueT > *  bindings,
int  bindingsSize,
bool  save 
) [inline]

ParamExchange.h231 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::Get()Onikiri::ParamDB::Set().

00238         {
00239             if(save){
00240                 g_paramDB.Set(basePath + relativePath, *val, bindings, bindingsSize );
00241             }
00242             else{
00243                 g_paramDB.Get(basePath + relativePath, val, bindings, bindingsSize );
00244             }
00245         }

関数の呼び出しグラフ:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ParamEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
ValueT *  val,
bool  save 
) [inline]

ParamExchange.h217 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::Get()Onikiri::ParamDB::Set().

00221         {
00222             if(save){
00223                 g_paramDB.Set( basePath + relativePath, *val );
00224             }
00225             else{
00226                 g_paramDB.Get( basePath + relativePath, val );
00227             }
00228         }

関数の呼び出しグラフ:

virtual void Onikiri::ParamExchangeBase::ProcessParamMap ( bool  save  )  [pure virtual]

参照元 Onikiri::ParamExchange::LoadParam()Onikiri::PhysicalResourceNode::ReleaseParam()Onikiri::ParamExchange::ReleaseParam().

Here is the caller graph for this function:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ResultEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
const ValueT &  val 
) [inline]

ParamExchange.h248 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::Set().

00252         {
00253             g_paramDB.Set( basePath + relativePath, val );
00254         }

関数の呼び出しグラフ:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ResultRateEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
const std::vector< ValueT > &  n,
const std::vector< ValueT > &  d 
) [inline]

ParamExchange.h271 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::Set().

00275         {
00276             std::vector<double> rate;
00277             size_t size = d.size();
00278             rate.resize( size );
00279             for( size_t i = 0; i < size; i++){
00280                 if( d[i] != (ValueT)0 ){
00281                     rate[i] = (double)n[i] / (double)d[i];
00282                 }
00283                 else{
00284                     rate[i] = 0;
00285                 }
00286             }
00287             g_paramDB.Set( basePath + relativePath, rate );
00288         }

関数の呼び出しグラフ:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ResultRateEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
const ValueT &  numerator,
const ValueT &  denominator 
) [inline]

ParamExchange.h257 行で定義されています。

参照先 Onikiri::g_paramDBOnikiri::ParamDB::Set().

参照元 ResultRateSumEntry().

00261         {
00262             if( denominator != (ValueT)0 ){
00263                 g_paramDB.Set( basePath + relativePath, (double)numerator / (double)denominator );
00264             }
00265             else{
00266                 g_paramDB.Set( basePath + relativePath, 0 );
00267             }
00268         }

関数の呼び出しグラフ:

Here is the caller graph for this function:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ResultRateSumEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
const std::vector< ValueT > &  n,
const std::vector< ValueT > &  d1,
const std::vector< ValueT > &  d2 
) [inline]

ParamExchange.h302 行で定義されています。

参照先 ResultRateEntry().

00308         {
00309             std::vector<ValueT> d;
00310             size_t size = std::min( d1.size(), d2.size() );
00311             d.resize( size );
00312             for( size_t i = 0; i < size; i++){
00313                 d[i] = d1[i] + d2[i];
00314             }
00315             ResultRateEntry( basePath, relativePath, n, d );
00316         }

関数の呼び出しグラフ:

template<typename ValueT>
void Onikiri::ParamExchangeBase::ResultRateSumEntry ( const ParamXMLPath basePath,
const ParamXMLPath relativePath,
const ValueT &  numerator,
const ValueT &  denominator1,
const ValueT &  denominator2 
) [inline]

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

参照先 ResultRateEntry().

00297         {
00298             ResultRateEntry( basePath, relativePath, numerator, denominator1 + denominator2 );
00299         }

関数の呼び出しグラフ:

void Onikiri::ParamExchangeBase::SetRootPath ( const ParamXMLPath root  )  [inline]

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

ParamExchange.h199 行で定義されています。

参照先 m_rootPath.

参照元 Onikiri::ParamExchangeChild::SetRootPath().

00200         {
00201             m_rootPath = root;
00202         }

Here is the caller graph for this function:


変数

ParamXMLPath Onikiri::ParamExchangeBase::m_rootPath [protected]

ParamExchange.h195 行で定義されています。

参照元 Onikiri::ParamExchangeChild::GetChildRootPath()GetRootPath()SetRootPath().


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