int main() { StateMachine stateMachine; stateMachine.setOnStartCallback([] () { std::cout << "state machine started" << std::endl; }); stateMachine.setOnStopCallback([] () { std::cout << "state machine stopped" << std::endl; }); State* state1 = new State(); state1->setOnEnterCallback([] (const Event*) { std::cout << "entering state1" << std::endl; }); state1->setOnExitCallback([] (const Event*) { std::cout << "exiting state1" << std::endl; }); State* state2 = new State(); state2->setOnEnterCallback([] (const Event*) { std::cout << "entering state2" << std::endl; }); state2->setOnExitCallback([] (const Event*) { std::cout << "exiting state2" << std::endl; }); State* state3 = new State(); state3->setOnEnterCallback([] (const Event*) { std::cout << "entering state3" << std::endl; }); state3->setOnExitCallback([] (const Event*) { std::cout << "exiting state3" << std::endl; }); stateMachine.addTransition(12, state1, state2); stateMachine.addTransition(13, state1, state3); stateMachine.addTransition(23, state2, state3); stateMachine.addTransition(31, state3, state1); stateMachine.setInitialState(state1); stateMachine.start(); stateMachine.postEvent(new Event(12)); stateMachine.postEvent(new Event(23)); stateMachine.postEvent(new Event(31)); stateMachine.postEvent(new Event(13)); return 0; }
int main(int argc, char** argv) { ros::init(argc,argv,"mk_behaviors"); StateMachine sm; sm.start(); // blocking return 0; }
virtual void SetUp() { LOGUSRMOCK = new MockLogger; /* State Machine in Unknown state. */ state_machine_unknown.start(); /* State Machine in Missing state. */ state_machine_missing.start(); ON_CALL(hw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::NOT_PRESENT)); ON_CALL(sw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::NOT_PRESENT)); state_machine_missing.set_next_state(&hw_status, &sw_status); /* State Machine in Up state. */ state_machine_up.start(); ON_CALL(hw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::PRESENT)); ON_CALL(sw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::PRESENT)); state_machine_up.set_next_state(&hw_status, &sw_status); /* State Machine in Down state. */ state_machine_down.start(); ON_CALL(hw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::PRESENT)); ON_CALL(sw_status, read_status()) .WillByDefault(Return(ModuleStatus::Status::NOT_PRESENT)); state_machine_down.set_next_state(&hw_status, &sw_status); }
int main(int argc, char * argv[]) { StateMachine * machine = new StateMachine(); View001 * view001 = new View001(); view001->addTransition(machine); View002 * view002 = new View002(); view002->addTransition(machine); machine->addState(view001); machine->addState(view002); machine->setInitialState(view001); machine->start(); return 0; }
int main(int args, const char * argv[]) { cout << "------" << endl; StateMachine2 sm2 = StateMachine2(); sm2.run(); cout << "------" << endl; RelationalOperator r1(1); RelationalOperator r2(2); cout << (r1 < r2) << endl; cout << (r1 > r2) << endl; cout << (r1 == r2) << endl; cout << (r1 != r2) << endl; cout << "------" << endl; StateMachine sm = StateMachine(); sm.start(); Child child = Child(); child.getName(); child.getCount(); const uint32_t type = 0x12345678; CPU info; info.num = type; cout << info.id.Stepping << " " << info.id.Model << endl; vector<int> v = { 1, 2, 3, 4 }; vector<int> v2; v2.resize(v.size()); int x = 2; for_each(v.begin(), v.end(), add2); for_each(v.begin(), v.end(), addval<3>); for_each(v.begin(), v.end(), Functor(x)); for_each(v.begin(), v.end(), [x](int v){ cout << v + x << endl; }); cout << "------"; transform(v.begin(), v.end(), v2.begin(), [x](int v){ cout << v + x << endl; return v + x; }); cout << "------" << endl; vector<int>::iterator y = find_if(v.begin(), end(v), [](int v) { if (v % 2 == 0) { cout << v << endl; return true; } else return false; }); cout << *y << endl; function<double(double a, double b)> func; func = bind(my_divide, _2, _1); cout << func(1, 3) << endl; return 0; }