How Meta Made Debugging Async Code Easier with Coroutines and Senders
…_sr_thunk_task<…> …inject_stop_request_thunk<…>(…_sa_task) () at /home/cppcon/c 5 : auto unifex::connect_awaitable(task , receiver auto&) () at /home/cppcon/cppcon24-async 6 : unifex::task a decltype(auto) …_promise ::await_transform(…) () at /home/cppcon/cppcon24-async-demo/li 13: auto unifex::connect_awaitable(task , receiver auto&) () at /home/cppcon/cppcon24-async 14: main () at /home/cpp …inject_stop_request_thunk<…>(…_sa_task ) () at task.hpp:824 5 : auto unifex::connect_awaitable(task , receiver auto&) () at connect_awaitable.hpp:234 6 : unifex::task async_main<…>(span , auto& 0 码力 | 131 页 | 907.41 KB | 5 月前3A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
kUIntProp, 4); // ... iZotope Inc.// Button.cpp Button::Button() { GetPropSignal(kText).Connect(this, [] { optional text = GetProperty (kText); assert(text); SetNeedsLayout(); GetPropSignal (kBGColor).Connect(this, update); GetPropSignal (kBorderColor).Connect(this,update); iZotope Inc.// Button.cpp Button::Button() { GetPropSignal (kText).Connect(this, [] { optional GetPropSignal (kBGColor).Connect(this, update); GetPropSignal (kBorderColor).Connect(this,update); iZotope Inc.// Button.cpp Button::Button() { GetPropSignal (kText).Connect(this, [] { optional 0 码力 | 138 页 | 2.75 MB | 5 月前3Working with Asynchrony Generically: A Tour of C++ Executors
BASIC LIFETIME OF AN ASYNC OPERATION SCHEDULER schedule SENDER RECEIVER OPERATION STATE connect start …operation completes… … and notifies receiver … time passes… Implementation details BUILDING BLOCKS OF P2300 concept scheduler: schedule(scheduler) sender; concept sender: connect(sender, receiver) operation_state; concept receiver: set_value(receiver, Values...) void; start(operation_state) void;24 Under the hood of a concurrent operation25 ALL OF THESE SENDERS IMPLEMENT CONNECT ex::sender auto work = ex::when_all( ex::schedule(sched) | ex::then([] { return compute_intensive(0);0 码力 | 121 页 | 7.73 MB | 5 月前3Quickly Testing Qt Desktop Applications With Approval Tests
Pitfall: Qt4-style Signal/Slot connect() connect( ui->quitButton, SIGNAL(clicked()), this, SLOT(quit())); QObject::connect: No such slot SampleMainWindow::quit() QObject::connect: (sender name: 'quitButton') 'quitButton') QObject::connect: (receiver name: 'SampleMainWindow')54 Safer: Qt5-style Signal/Slot connect() • Use Qt5 pointer-to-member-function connections connect( ui->quitButton, SIGNAL(clicked()) SIGNAL(clicked()), this, SLOT(quit())); // Solution: Qt5-style connections get checked at compile-time: connect( ui->quitButton, &QPushButton::clicked, this, &SampleMainWindow::quit );55 Pitfall: Event processing in0 码力 | 77 页 | 6.96 MB | 5 月前3Exceptionally Bad: The Story on the Misuse of Exceptions and How to Do Better
Exceptional Trier// if problem throw void connect(…); bool try_connection(int max_retries) { bool connected = false; int retry_count = 0; while(!connected) { try { connect (…); connected = true; } catch(const try_connection(int max_retries) { bool connected = false; int retry_count = 0; while(!connected) { try { connect (…); notify(connected = true); } catch(const std::runtime_error&) { if (retry_count++ > max_retries) return false bool connect(…) bool try_connection(int max_retries) { bool connected = false; int retry_count = 0; while (!connected && (retry_count++ < max_retries)) { connected = connect(…); } notify(connected);0 码力 | 85 页 | 2.32 MB | 5 月前3Tracy: A Profiler You Don't Want to Miss
location for the Tracy profiler executable Tips & Tricks Have an in-app GUI element to launch & connect the Tracy profiler David Farrell’s pro-tip! sorry, I don’t have an example… …but here’s a picture Sampling Mode TracyClient.cpp is all you need! then launch your app with admin privileges and connect it to the Tracy Profiler Manual instrumentation is not necessary! (but you can have both coexist to the profiler is established 78 yup… out of examples again… Known Issues My program won’t connect to the profiler79 also: callstack depth limited to about 60 stack frames More LimitationsRTTM:0 码力 | 84 页 | 8.70 MB | 5 月前3Tracy: A Profiler You Don't Want to Miss
location for the Tracy profiler executable Tips & Tricks Have an in-app GUI element to launch & connect the Tracy profiler sorry, I don’t have an example… …but here’s a picture of my cat65 Gotchas to the profiler is established 76 yup… out of examples again… Known Issues My program won’t connect to the profiler77 also: callstack depth limited to about 60 stack frames More Limitations78 Study Sampling Mode TracyClient.cpp is all you need! then launch your app with admin privileges and connect it to the Tracy Profiler Manual instrumentation is not necessary! (but you can have both coexist0 码力 | 85 页 | 6.51 MB | 5 月前3From Your First Line of Code to Your Largest Repo: How Visual Studio Code Can Help You Develop More Efficiently in C++
accountsMicrosoft C++ Remote - Tunnels Connect to a Remote Machine via a secure tunnel from a VS Code client anywhere, without the requirement of SSH. - Develop anywhere: connect to a tunnel from VS Code Desktop0 码力 | 31 页 | 2.76 MB | 5 月前3Template-Less Meta-Programming
}; struct Connecting { }; struct Connected { }; sm connection = overload{ [](Disconnected, connect) -> Connecting { establish(); }, [](Connecting, established) -> Connected { }, [](auto }; struct Connecting { }; struct Connected { }; sm connection = overload{ [](Disconnected, connect) -> Connecting { establish(); }, [](Connecting, established) -> Connected { }, [](auto0 码力 | 130 页 | 5.79 MB | 5 月前3Conan 1.3 Documentation
container that internally runs in the 9300 port but it exposes the 9999 port (where the clients will connect to): docker run ... -p9300:9999 ... # Check Docker docs for that server.conf 7.5. Running conan_server Note: Important: Conan client, by default, will validate the server SSL certificates and won’t connect if it’s not valid. If you have self signed certificates you have two options: 1. Use the conan remote documentation about the DSL. The Artifactory Jenkins plugin provides a powerful DSL language to call conan, connect with your Artifactory instance, upload and download your packages from Artifactory and manage your0 码力 | 397 页 | 2.77 MB | 1 年前3
共 87 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
相关搜索词
HowMetaMadeDebuggingAsyncCodeEasierwithCoroutinesandSendersCasestudyinRewritingLegacyGUILibraryforRealtimeAudioSoftwareModernC++WorkingAsynchronyGenericallyTourofExecutorsQuicklyTestingQtDesktopApplicationsWithApprovalTestsExceptionallyBadTheStoryontheMisuseExceptionstoDoBetterTracyProfilerYouDonWantMissFromYourFirstLineLargestRepoVisualStudioCanHelpDevelopMoreEfficientlyTemplateLessProgrammingConan1.3Documentation