Pipeline Architectures in C++: Overloaded Pipe Operator | and Its Monadic Operations
overview of what the poster reports on. Title: Pipeline architectures in C++: overloaded pipe operator | std::expected and its monadic operations Brief overview: Functional programming in C++ is the overloaded pipe operator. In this poster I show how to implement a custom pipeline framework that employs std::expected, available since C++23. An overloaded custom pipe operator | will be presented my book about C++ [1][3]. One of the topics was to describe the behavior of the overloaded pipe operator | in std::ranges. I came across Ankur's Satle lecture [4] and decided to expand on this topic –0 码力 | 3 页 | 422.24 KB | 5 月前3Back To Basics Functions
our discussion of functions in classes, we'll touch on virtual functions, static functions, and operator overloading. We'll circle back to where we began on these topics, again showing you the assembly programming languages are used to express math and more exciting ideas!Origin Story: A Journey of Discovery The magic and power of functions! 15 https://www.thegamecreators.com/product/dark-basic-pro-open-sourceOrigin imagination (and perhaps RAM :))Capturing a Few Fundamental Ideas From my Origin Story ● From my initial discovery of functions -- I found a few interesting facts about functions and how to think about them. ○0 码力 | 123 页 | 7.26 MB | 5 月前3Expressive Compile-time Parsers
Evolution API Design Metaprogramming TricksAbout the talk • Expressiveness in C++ • Parsers • Operator overloading • Domain specific languages • Open source compile-time libraries • API • Design • = {1,2,3,4}; vectorv(arr, arr + sizeof(arr) / sizeof(arr[0])); vector v = {1,2,3,4};Operator Overloading Use operators to call custom functions for specific types. std::filesystem::path p lexeme[+(char_ - '<')]; node %= xml | text; start_tag %= '<' >> !lit('/') >> lexeme[+(char_ - '>')] >> '>'; end_tag = "" >> string(_r1) >> '>'; xml %= start_tag[_a = _1] >> *node >> end_tag(_a);Limitation 0 码力 | 134 页 | 1.73 MB | 5 月前3Irksome C++
features as alias templates, contextual conversions, variable templates, requires-expressions, operator<=>, and more! • Conceived and served as Project Editor for the Int’l Standard on Mathema:cal thusly: � struct nonesuch { nonesuch( ); ∼nonesuch( ); nonesuch( nonesuch const & ); nonesuch operator = ( nonesuch const & ); }; • I much later discovered other code bases with a similar type: � updated my type to use a then-new feature: � struct nonesuch { nonesuch( ) = delete; ∼nonesuch( ) = delete; nonesuch( nonesuch const & ) = delete; nonesuch operator = ( nonesuch const & ) = delete;0 码力 | 15 页 | 3.03 MB | 5 月前3Embracing an Adversarial Mindset for Cpp Security
needed 1% ● Tackling cross-org issues to combat a whole bug class 15% ● Writing tools to help with discovery 4%Adversarial Mindset Not taught in traditional institutionsThinking Like an Adversary Challenging Modern Technologies •secure coding, regular patching, comprehensive security testing •Improved Discovery Methods - Enhanced Bug Hunting •Race Between Offense and Defense •Focus on Higher Value Targets •Cloud services, Containerization, Microservices architectures •Interconnected Components •Feature Richness •Backwards CompatibilityFactors Influencing Trends Advanced Threat Detection •Regulatory0 码力 | 92 页 | 3.67 MB | 5 月前3The Roles of Symmetry And Orthogonality In Design
have lifecycle symmetry independent of (stack-based) control-flow This is a (useful!) design feature Bar()…~Bar()Charley Bay - charleyb123 at gmail dot com The Roles of Symmetry And Orthogonality In have lifecycle symmetry independent of (stack-based) control-flow This is a (useful!) design feature Your Design defines object lifecycle • std::unique<> is an implementation tool, not a design decision have lifecycle symmetry independent of (stack-based) control-flow This is a (useful!) design feature Using the heap demands Design attention to define and implement object lifecycle Your Design0 码力 | 151 页 | 3.20 MB | 5 月前3C++20: An (Almost) Complete Overview
Initializers Spaceship Operator <=> Range-based for Loop Initializer Non-Type Template Parameters [[likely]] and [[unlikely]] Calendars & Timezones std::span Feature Test Macros Smart Pointers template class concurrent_stack { struct Node { T t; shared_ptr<Node> next; }; atomic_shared_ptr<Node> head; // in C++11: remove "atomic_" and use special // functions functions every time you touch head public: class reference { shared_ptr<Node> p; }; auto find(T t) const { auto p = head.load(); // C++11: atomic_load(&head) while (p && p->t 0 码力 | 85 页 | 512.18 KB | 5 月前3Applicative: The Forgotten Functional Pattern
you will look at your code with new eyes. -- Albert Szent-György "Discovery consists of seeing what everybody has seen and "Discovery consists of seeing what everybody has seen and thinking what nobody Note: fmap fmap is also spelt is also spelt (<$>) (<$>) when used as an in�x operator. when used as an in�x operator. fmap :: (a -> b) -> f a -> f b 10HOW TO READ HASKELL SIGNATURES HOW TO READ HASKELL mention of applicative. P2321 (zip, Tim Song) No mention of applicative. P2561 (An Error Propagation Operator, Barry Revzin) No mention of applicative. P2300 (std::execution, many authors) No mention of applicative0 码力 | 141 页 | 11.33 MB | 5 月前3DEDUCING this PATTERNS
expression’s type." wg21.link/p0847OVERVIEW A bit about the motivation and history of P0847 What the feature is Existing patterns evolved by P0847 New patterns not possible before P0847 Miscellanea Disclaimer: features.)THE FEATURE Here's what we came up with: By the end of this talk, you will understand this slide and (more importantly) its implications. One of the satisfying things about this feature is that be applied. If there is a logical deduction from the rules you know, it's very probably how the feature works. In other words, this works as you would expect.SOME QUICK EQUIVALENCES Before: A�er: Note:0 码力 | 126 页 | 5.15 MB | 5 月前3Changing Legacy Code: With Confidence
its lifetime • It is currently making the company money • One person's bug is another's critical feature Legacy code has value *well enough, for some definition of "works"• Best practices and languages works.Test Everything on every feature Write Automated tests and run them continuously Test the change you just made Testing StrategiesTest Everything on every feature Write Automated tests and run StrategiesTest Everything on every feature Write Automated tests and run them continuously Test the change you just made Testing StrategiesTest Everything on every feature Write Automated tests and run0 码力 | 114 页 | 982.54 KB | 5 月前3
共 301 条
- 1
- 2
- 3
- 4
- 5
- 6
- 31
相关搜索词
PipelineArchitecturesinC++OverloadedPipeOperatorandItsMonadicOperationsBackToBasicsFunctionsExpressiveCompiletimeParsersIrksomeEmbracinganAdversarialMindsetforCppSecurityTheRolesofSymmetryAndOrthogonalityInDesign20AnAlmostCompleteOverviewApplicativeForgottenFunctionalPatternDEDUCINGthisPATTERNSChangingLegacyCodeWithConfidence