Session Types in C++
Background in compilers and embedded systems... 2Motive? 3Motive: Can it be done in C++? 4Session type 5Session type ? 6"A normal adult programmer never gives a thought about types. That is something C++, we can settle with this explanation: But that is not what “type” in “Session type” means. 28Session type ? 29Session? • Interaction of two or more entities. • It has a beginning and (usually) interactions is happening. 30Session? • Can we describe a valid sequence of interactions? • Interaction diagram Client Server int int ADD DIV int double end Branching 31Session? • Can we describe a0 码力 | 89 页 | 1.55 MB | 5 月前3Newer Isn't Always Better
// ... } }; struct Session : public Tcp { void initializeConfig() override { std::cout << "session\n"; // ... } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level << "tcp\n"; } }; struct Session : public Tcp<Session> { void initializeConfig() { std::cout << "session\n"; } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level // ... } }; struct Session : public Tcp { void initializeConfig() { std::cout << "session\n"; // ... } }; int main() { Tcp a; a.init(); Session b; b.init(); } Multi-Level0 码力 | 60 页 | 1.34 MB | 5 月前3A New Decade of Visual Studio: C++20, Open STL and More
continuing to enhance the C++ extension for Visual Studio Code Our agenda todayVisual Studio Code Session coming up! #1 most used code editor [StackOverflow Developer Surveys] Free, open source code editor Analyzer or Edge/Chrome via /timetrace (thank you to Carlos Fraguas) vcperf /start Sessionvcperf /stop Session /timetrace mytrace.json Visit https://aka.ms/vcperf to learn moreLive Share 0 码力 | 37 页 | 2.67 MB | 5 月前3failing successfully
device* which; }; struct packet_processor_end : packet_processor_begin { std::exception_ptr ex; session* which; }; struct processor_manager_callback { virtual void on(const device_processor_begin& e) device* which; }; struct packet_processor_end : packet_processor_begin { std::exception_ptr ex; session* which; }; struct processor_manager_callback { virtual void on(const device_processor_begin& e) 3fe89d88735f83f Database: /db Bellport Revision: 10742-35ad327965de328e7bf3e6823102c46827516b54 Session: 387 DXF Type: Symbols MIC: GLBX Date: 2021-08-06 Identifier: b6 4e 11 49 9d 9e c8 b8 00 00 00 010 码力 | 44 页 | 625.44 KB | 5 月前3Quickly Testing Qt Desktop Applications With Approval Tests
argv[]) { QApplication app(argc, argv); // -platform offscreen int result = Catch::Session().run(argc, argv); // --break return result; }24 Context: SuperCollider • supercollider.githubint main(int argc, char* argv[]) { QApplication app(argc, argv); int result = Catch::Session().run(argc, argv); return result; } // main.cpp: #define APPROVALS_CATCH_QT #include "ApprovalTestsQt 0 码力 | 77 页 | 6.96 MB | 5 月前3C++20's
Please use the Q&A tab for questions during the session (typed) • If you want to raise your hand to ask a question, please hold them until after the session is over. • When asking questions, please0 码力 | 55 页 | 8.67 MB | 5 月前3The Beauty and Power of Primitive C++
Exchange information at the start of a session • Individual messages are not self describing • Version and (possibly) layout information exchanged once per session • Where necessary, place a version identifier0 码力 | 53 页 | 1.03 MB | 5 月前3When Nanoseconds Matter: Ultrafast Trading Systems in C++
size at this price level • Each Order has an ID (uint64_t) which is unique throughout the trading session (day) $92 $92 $95 50 $90 100 $85 250 $95 50 $100 75Order Book – Properties 19 • Two ordered size at this price level • Each Order has an ID (uint64_t) which is unique throughout the trading session (day) • A typical stock order book has ~1000 price levels “per side” $92 $92 $95 50 $90 1000 码力 | 123 页 | 5.89 MB | 5 月前3Back to Basics: Concurrency
form of starvation!). But don’t worry--I will show you how to fix these concurrency bugs! The session will wrap up with discussion and examples of other concurrency primitives and how to use them to patterns(different types of locks, conditional variables, promises/futures). Attendees will leave this session being able to use threads, locks, and start thinking about architecting multithreaded software.0 码力 | 141 页 | 6.02 MB | 5 月前3From Your First Line of Code to Your Largest Repo: How Visual Studio Code Can Help You Develop More Efficiently in C++
Studio) What you’ll need to develop in C++ Want to learn more? Check out the "Back to the Basics" session: “Getting Started with C++” – Michael Price On Friday @ 13:30 Compiler (Ex. MSVC, GCC, Clang)0 码力 | 31 页 | 2.76 MB | 5 月前3
共 92 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
相关搜索词
SessionTypesinC++NewerIsnAlwaysBetterNewDecadeofVisualStudio20OpenSTLandMorefailingsuccessfullyQuicklyTestingQtDesktopApplicationsWithApprovalTestsChronoTheBeautyPowerPrimitiveWhenNanosecondsMatterUltrafastTradingSystemsBacktoBasicsConcurrencyFromYourFirstLineCodeLargestRepoHowCanHelpYouDevelopEfficiently