Row Generator :: Get() { Row r; for ( unsigned int i = 0; i < SourceCount(); i++ ) { r.AppendRow( SourceAt( i )->Get() ); } return r; }
Row DSSelect :: Get() { Row r = SourceAt(0)->Get(); for ( unsigned int i = 1; i < SourceCount(); i++ ) { DSCase * cs = dynamic_cast <DSCase *>( SourceAt(i) ); if ( cs->Match( r ) ) { return Order( r.AppendRow( cs->Get() ) ); } } throw Exception( "No default case" ); }