#include <ParamExchange.h>
Onikiri::ParamExchangeBaseに対する継承グラフ
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 ParamXMLPath & | GetRootPath () |
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.h の 192 行で定義されています。
Onikiri::ParamExchangeBase::ParamExchangeBase | ( | ) | [inline] |
virtual Onikiri::ParamExchangeBase::~ParamExchangeBase | ( | ) | [inline, virtual] |
void Onikiri::ParamExchangeBase::ChainParamMap | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
std::vector< T > * | param, | |||
bool | save | |||
) | [inline] |
ParamExchange.h の 330 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::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 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::ChainParamMap | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
T * | param, | |||
bool | save | |||
) | [inline] |
ParamExchange.h の 319 行で定義されています。
00324 { 00325 param->SetRootPath( (basePath) + (relativePath) ); 00326 param->ProcessParamMap( save ); 00327 }
const ParamXMLPath& Onikiri::ParamExchangeBase::GetRootPath | ( | ) | [inline] |
ParamXMLPath Onikiri::ParamExchangeBase::MakeIndexedPath | ( | const String & | base, | |
int | index | |||
) | [inline] |
ParamExchange.h の 209 行で定義されています。
参照元 ChainParamMap().
00210 { 00211 return String( 00212 base + 00213 "[" + boost::lexical_cast<String>(index) + "]/"); 00214 }
Here is the caller graph for this function:
void Onikiri::ParamExchangeBase::ParamBindingEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
ValueT * | val, | |||
const ParamDB::Binding< ValueT > * | bindings, | |||
int | bindingsSize, | |||
bool | save | |||
) | [inline] |
ParamExchange.h の 231 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::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 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::ParamEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
ValueT * | val, | |||
bool | save | |||
) | [inline] |
ParamExchange.h の 217 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::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:
void Onikiri::ParamExchangeBase::ResultEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
const ValueT & | val | |||
) | [inline] |
ParamExchange.h の 248 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::ParamDB::Set().
00252 { 00253 g_paramDB.Set( basePath + relativePath, val ); 00254 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::ResultRateEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
const std::vector< ValueT > & | n, | |||
const std::vector< ValueT > & | d | |||
) | [inline] |
ParamExchange.h の 271 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::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 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::ResultRateEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
const ValueT & | numerator, | |||
const ValueT & | denominator | |||
) | [inline] |
ParamExchange.h の 257 行で定義されています。
参照先 Onikiri::g_paramDB・Onikiri::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:
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.h の 302 行で定義されています。
参照先 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 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::ResultRateSumEntry | ( | const ParamXMLPath & | basePath, | |
const ParamXMLPath & | relativePath, | |||
const ValueT & | numerator, | |||
const ValueT & | denominator1, | |||
const ValueT & | denominator2 | |||
) | [inline] |
ParamExchange.h の 291 行で定義されています。
参照先 ResultRateEntry().
00297 { 00298 ResultRateEntry( basePath, relativePath, numerator, denominator1 + denominator2 ); 00299 }
関数の呼び出しグラフ:
void Onikiri::ParamExchangeBase::SetRootPath | ( | const ParamXMLPath & | root | ) | [inline] |
Onikiri::ParamExchangeChildで再定義されています。
ParamExchange.h の 199 行で定義されています。
参照先 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.h の 195 行で定義されています。
参照元 Onikiri::ParamExchangeChild::GetChildRootPath()・GetRootPath()・SetRootPath().