Express Your Expectations: A Fast, Compliant JSON Pull Parser for Writing Robust Applicationstelling a songwriter there’s already a song about love. Pete Cordell Jonathan Müller — @foonathan Express your expectations CppCon 2023-10-03 1tc::json::parser Extract some JSON members tc nlohmann RapidJSON -library Jonathan Müller — @foonathan Express your expectations CppCon 2023-10-03 2(JSON) Parser design What is a parser? Jonathan Müller — @foonathan Express your expectations CppCon 2023-10-03 3Javascript — @foonathan Express your expectations CppCon 2023-10-03 4Javascript Object Notation (JSON) Idea: Human-readable serialization of Javascript objects. Jonathan Müller — @foonathan Express your expectations0 码力 | 143 页 | 736.91 KB | 6 月前3
simd: How to Express Inherent Parallelism Efficiently Via Data-Parallel Typesstd::simd how to express inherent parallelism efficiently via data-parallel types Dr. Matthias Kretz GSI Helmholtz Center for Heavy Ion Research CppCon ’23 @mkretz@floss.social github.com/mattkretzMotivation instructions/registers! consider SIMD an implementation-detail of data-parallelism We failed to express the “interesting” parallelism. Instead we expressed only 4 independent values and had to reduce to ResearchMotivation std::simd Overview Example: Image Processing Programming Models Outlook Summary How to express data-parallelism? Idea: Every pixel can be processed independently. ⇒ Process as many pixels in0 码力 | 160 页 | 8.82 MB | 6 月前3
Constructing Generic AlgorithmsPRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. 47 . 1PRECONDITIONS/POSTCONDITIONS? P PRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. (Pre) [ first, last ) does not contain PRECONDITIONS/POSTCONDITIONS? Let's document them, even if we can't express them in contracts yet. Let's document them, even if we can't express them in contracts yet. (Pre) [ first, last ) does not contain0 码力 | 145 页 | 8.44 MB | 6 月前3
Quantifying Accidental Complexity: An empirical look at teaching and using C++Directly support “owners” and “pointers,” eliminate classes of use-after- free/invalid Directly express comparison intent, eliminate boilerplate & errors Prototype MSVC, Clang Product/spec eliminate classes of use-after- free/invalid Directly express comparison intent, eliminate boilerplate & errors Directly express class authoring intent, eliminate boilerplate & errors eliminate classes of use-after- free/invalid Directly express comparison intent, eliminate boilerplate & errors Directly express class authoring intent, eliminate boilerplate & errors0 码力 | 36 页 | 2.68 MB | 6 月前3
Cooperative C++ EvolutionJudicious abstraction directly express intent11 Simplicity Efficiency Safety These are not always in tension Judicious abstraction directly express intent12 Simplicity Efficiency Safety abstraction directly express intent if min <= index < max { ... }13 Simplicity Efficiency Safety These are not always in tension Judicious abstraction directly express intent outer: while (contemplating: -fno-alloc) These are not always in tension Judicious abstraction directly express intent main: (args) = std::cout << "This exe is (args[0])$";15Unified Universe and the Bja0 码力 | 85 页 | 5.73 MB | 6 月前3
Contracts for C++https://timur.audio We want to express Contracts in C++ code35 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio We want to express Contracts in C++ code → contract Doumler | @timur_audio | https://timur.audio P2900 Contracts allow the programmer to express expectations about program state, and optionally verify that those expectations are met. – Doumler | @timur_audio | https://timur.audio P2900 Contracts allow the programmer to express expectations about program state, and optionally verify that those expectations are met. –0 码力 | 181 页 | 4.44 MB | 6 月前3
The Roles of Symmetry And Orthogonality In Designcppcon 2021 Investigating Symmetry • Example questions to investigate symmetry: • Does each step express clear purpose? • If yes, is more obvious for enforcing step semantics • Are the steps symmetric Concepts: C++ Design in a Concept World (part 2 of 2) - Jeff Garland - [CppNow 2021] “Good concepts express more than just what an algorithm needs” -- Jeff GarlandCharley Bay - charleyb123 at gmail dot from A Strong Relationship (is guaranteed) Given A, I know something about B • Example: B tends express based on value and amplitude of A (or to A deltas) Weak Relationship (relationship not guaranteed)0 码力 | 151 页 | 3.20 MB | 6 月前3
Design PatternsPrefer to use the term “Static Interface” to express the intent to create a static family of types. Guideline: Prefer to use the term “Mixin” to express the intent to inherit implementation details Prefer to use the term “Static Interface” to express the intent to create a static family of types. Guideline: Prefer to use the term “Mixin” to express the intent to inherit implementation details0 码力 | 136 页 | 7.95 MB | 6 月前3
Delivering safe C++humans • Many can’t be checked completely or consistently • P.1: Express ideas directly in code • P.2: Write in ISO Standard C++ • P.3: Express intent • P.4: Ideally, a program should be statically type safe Guidelines are not enough • “being careful” is not verifiable • The source code doesn’t directly express what’s to be guaranteed • Tool chains are complex and vary among systems • How can we gradually of an imported module cannot be stated (it might change, but the build-system knows) • We can’t express the relationships among arbitrary profiles • That would be a whole complex language • Disjoint0 码力 | 74 页 | 2.72 MB | 6 月前3
Many Ways to Kill an Orc (or a Hero)engines involve fights between heroes and their foes. There are «classical», traditional ways to express heroes and monsters fighting each other, but C++ is a particularly expressive and versatile language engines involve fights between heroes and their foes. There are «classical», traditional ways to express heroes and monsters fighting each other, but C++ is a particularly expressive and versatile language engines involve fights between heroes and their foes. There are «classical», traditional ways to express heroes and monsters fighting each other, but C++ is a particularly expressive and versatile language0 码力 | 202 页 | 1.26 MB | 6 月前3
共 81 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
相关搜索词
ExpressYourExpectationsFastCompliantJSONPullParserforWritingRobustApplicationssimdHowtoInherentParallelismEfficientlyViaDataParallelTypesConstructingGenericAlgorithmsQuantifyingAccidentalComplexityAnempiricallookatteachingandusingC++CooperativeEvolutionContractsTheRolesofSymmetryAndOrthogonalityInDesignPatternsDeliveringsafeManyWaysKillanOrcorHero













