void PatternDefaultLinkage::LoadBin( lem::Stream &bin ) { optional_node = bin.read_bool(); bin.read( &marker_name, sizeof(marker_name) ); bin.read( &node_name, sizeof(node_name) ); return; }
/******************************************************************************** Метод загружает информацию в контейнеры Автомата из указанного бинарного потока (файла). В производном классе метод перегружаем, но наш базовый метод должен быть вызван для загрузки таблицы параметров param. *********************************************************************************/ void Automaton::LoadBin( lem::Stream &bin, const Load_Options &opt ) { if( bin.read_bool() && param!=NULL ) param->LoadBin(bin); return; }
void TrFun_If::LoadBin( lem::Stream& bin ) { TrFunCall::LoadBin(bin); cond = TrFunCall::load_bin(bin); f_then = TrFunCall::load_bin(bin); if( bin.read_bool() ) f_else = TrFunCall::load_bin(bin); return; }
void PatternLink::LoadBin( lem::Stream &bin ) { bin.read( &from_marker, sizeof(from_marker) ); bin.read( &from_node, sizeof(from_node) ); bin.read( &to_marker, sizeof(to_marker) ); bin.read( &to_node, sizeof(to_node) ); bin.read( &link_type, sizeof(link_type) ); optional_to_node = bin.read_bool(); return; }
/***************************************************** Загружает содержимое из указанного бинарного потока. ******************************************************/ void Word_Form::LoadBin( lem::Stream &bin ) { bool p=bin.read_bool(); if( p ) { Lexem *m = new Lexem; m->LoadBin(bin); name = RC_Lexem(m); } p=bin.read_bool(); if( p ) { Lexem *m2 = new Lexem; m2->LoadBin(bin); normalized = RC_Lexem(m2); } // lexem_owner.LoadBin(bin); // e_list.LoadBin(bin); pair.LoadBin(bin); // bin.read( &tfield, sizeof(tfield) ); bin.read( &entry_key, sizeof(entry_key) ); bin.read( &val, sizeof(val) ); bin.read( &score, sizeof(score) ); // bin.read( &icenter, sizeof(icenter) ); bin.read( &origin_pos, sizeof(origin_pos) ); const int n = bin.read_int(); alt.reserve(n); for( int i=0; i<n; ++i ) { alt.push_back( new Word_Form ); alt.back()->LoadBin(bin); } return; }
void TrFunction::LoadBin( lem::Stream& bin ) { bin.read( &name, sizeof(name) ); ret_type.LoadBin(bin); arg_name.LoadBin(bin); arg_type.LoadBin(bin); if( bin.read_bool() ) body = TrFunCall::load_bin(bin); return; }