コード例 #1
0
ファイル: dmk_generator.cpp プロジェクト: akki9c/csvtest
void GeneratorTag :: Generate( Model * model ) {

	std::ostream & os = FileManager::Instance().GetStream( mOutFile );
	int nrows = mCount < 0 ? GetSize() : mCount;
	bool debug = false; // model->Debug() || Debug();

	if ( debug ) {
		std::cerr << "----- begin " << Name() << "\n";
	}

	if ( mFields.Size() ) {
		Row r;
		for ( unsigned int i = 0; i < mFields.Size(); i++ ) {
			r.AppendValue( mFields.At( i ) );
		}
		if ( debug ) {
			DebugRow( r, std::cerr );
		}
		os << r.AsCSV() << "\n";
	}

	while( nrows-- ) {
		Row r = Get();
		if ( debug ) {
			DebugRow( r, std::cerr );
		}
		if ( ! HasGroup() ) {
			os << r.AsCSV() << "\n";
		}
		AddRow( r );
	}

	if ( HasGroup() ) {
		DoGroup();
		for ( int i = 0; i < Size(); i++ ) {
			os << RowAt(i).AsCSV() << "\n";
		}
	}

	if ( debug ) {
		std::cerr << "----- end   " << Name() << "\n";
	}
}