本文整理汇总了C++中ParamList::Load方法的典型用法代码示例。如果您正苦于以下问题:C++ ParamList::Load方法的具体用法?C++ ParamList::Load怎么用?C++ ParamList::Load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParamList
的用法示例。
在下文中一共展示了ParamList::Load方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: input
int
OperatorUtils::LoadMatrix( const QString& inFileName, Param& outParam )
{
if( inFileName.isEmpty() )
return MatNotFound;
if( QFileInfo( inFileName ).suffix() == MATRIX_EXTENSION )
{
ParamList paramsFromFile;
paramsFromFile.Load( inFileName.toLocal8Bit().constData(), true );
if( paramsFromFile.Size() == 0 )
return MatNotFound;
if( paramsFromFile.Size() > 1 )
return MatMultipleParams;
Param p = paramsFromFile[0];
outParam.SetDimensions( p.NumRows(), p.NumColumns() );
for( int row = 0; row < p.NumRows(); ++row )
for( int col = 0; col < p.NumColumns(); ++col )
outParam.Value( row, col ) = p.Value( row, col );
outParam.RowLabels() = p.RowLabels();
outParam.ColumnLabels() = p.ColumnLabels();
}
else
{
ifstream input( inFileName.toLocal8Bit() );
input.clear();
vector<vector<string> > matrix;
string line;
while( getline( input, line ) )
{
istringstream is( line );
vector<string> row;
string value;
while( getline( is, value, '\t' ) )
row.push_back( value );
if( !row.empty() )
matrix.push_back( row );
}
if( matrix.empty() )
return MatNotFound;
size_t numRows = matrix.size(),
numCols = matrix[ 0 ].size();
for( size_t row = 1; row < numRows; ++row )
if( matrix[ row ].size() != numCols )
return MatLoadColsDiff;
outParam.SetDimensions( numRows, numCols );
for( size_t row = 0; row < numRows; ++row )
for( size_t col = 0; col < numCols; ++col )
{
istringstream iss( matrix[ row ][ col ] );
iss >> outParam.Value( row, col );
}
}
return NoError;
}