00001 #include "../bdm/stat/datasources.h"
00002 #include "mex_parser.h"
00003 
00004 namespace bdm {
00012 class MexDS : public MemDS {
00014         MexDS () {};
00015 
00033         void from_setting ( const Setting &set ) {
00034                 Data = mxArray2mat ( mexGetVariable ( "base", set["varname"] ) );
00035                 UI::get ( rowid, set, "rids" , UI::compulsory );
00036                 it_assert_debug ( max ( rowid ) <= Data.rows(), "MemDS rowid is too high for given Dat." );
00037 
00038                 UI::get ( delays, set, "tds", UI::compulsory );
00039                 time = max ( delays );
00040                 it_assert_debug ( time < Data.cols(), "MemDS delays are too high." );
00041 
00042                 shared_ptr<RV> r = UI::build<RV> ( set, "rv", UI::compulsory );
00043                 RV ru = RV();
00044                 set_rvs ( *r, ru );
00045         }
00046 
00047 
00048         
00049 };
00050 
00051 UIREGISTER ( MexDS );
00052 SHAREDPTR ( MexDS );
00053 
00054 }