// main loop int main( int argc, char **argv ) { printf("Hello world\n"); Management manager = new_manager(); // add actions to the manager action_add_to_manager( manager ); // add rooms to manager room_add_to_manager( manager ); Server server = new_server(); if( start_server( server, 5555 ) < 0 ){ return 1; } environment_loop( server, manager ); /* --------------------------------------- * Clean up */ close_server( server ); destroy_server( server ); destroy_manager( manager ); return 0; }
int main(int argc, char **argv) { new_manager(); FiberManager *fm = get_manager(); fm->add(hectate_fiber, argc, argv); while (fm->size()) { fm->run(); } delete_manager(); std::wcout << "Goodbye." << std::endl; return 0; }
void SequenceSpace::nextModificationSymbol(set<string>& mod_set, set<string>::iterator iter, SequenceList& seq_list, ModificationSequence mod_seq, Modifier mod_manager) { // Get currently available modification sites. ModificationSites current_sites = mod_manager.getModificationSitesBySymbol(*iter, 1); size_t mod_num = (size_t)gs->getModificationConstraint(*iter); //ModificationSites mod_sites; size_t i = 0; // Non-const version of the container. std::vector<ModificationPosition> current_vec(current_sites.begin(), current_sites.end()); std::vector<ModificationPosition> mod_vec; for(ModificationSites::iterator mod_iter = current_sites.begin(); mod_iter != current_sites.end(); mod_iter++) { mod_vec.push_back(*mod_iter); if(++i >= mod_num) break; } //ModificationSites::iterator CurIter(current_sites.begin()); do { // Set the status of mod_sites to "occupied". Modifier new_manager(mod_manager); for(auto mod_iter = mod_vec.begin(); mod_iter != mod_vec.end(); mod_iter++) { new_manager.modifyModificationStatus(*iter, *mod_iter, 0); } // Select the current combination, set the status and move to the next symbol. ModificationSequence current_seq(mod_seq); ModificationSites mod_sites(mod_vec.begin(), mod_vec.end()); current_seq.insert(std::make_pair(*iter, mod_sites)); set<std::string>::iterator it_copy = iter; it_copy++; if(it_copy == mod_set.end()) { seq_list.push_back(current_seq); continue; } this->nextModificationSymbol(mod_set, it_copy, seq_list, current_seq, new_manager); } while(stdcomb::next_combination(current_vec.begin(), current_vec.end(), mod_vec.begin(), mod_vec.end())); }