MCPcopy Create free account
hub / github.com/boostorg/asio / main

Function main

example/cpp14/executors/priority_scheduler.cpp:160–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

158};
159
160int main()
161{
162 priority_scheduler sched;
163 auto ex = sched.executor();
164 auto prefer_low = boost::asio::prefer(ex, custom_props::low_priority);
165 auto low = boost::asio::require(ex, custom_props::low_priority);
166 auto med = boost::asio::require(ex, custom_props::normal_priority);
167 auto high = boost::asio::require(ex, custom_props::high_priority);
168 execution::any_executor<custom_props::priority> poly_high(high);
169 prefer_low.execute([]{ std::cout << "1\n"; });
170 low.execute([]{ std::cout << "11\n"; });
171 low.execute([]{ std::cout << "111\n"; });
172 med.execute([]{ std::cout << "2\n"; });
173 med.execute([]{ std::cout << "22\n"; });
174 high.execute([]{ std::cout << "3\n"; });
175 high.execute([]{ std::cout << "33\n"; });
176 high.execute([]{ std::cout << "333\n"; });
177 poly_high.execute([]{ std::cout << "3333\n"; });
178 boost::asio::require(ex, custom_props::priority{-1}).execute([&]{ sched.stop(); });
179 sched.run();
180 std::cout << "polymorphic query result = " << boost::asio::query(poly_high, custom_props::priority{}) << "\n";
181}

Callers

nothing calls this directly

Calls 7

preferFunction · 0.50
requireFunction · 0.50
queryFunction · 0.50
executorMethod · 0.45
executeMethod · 0.45
stopMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected