• Complain

Jacek Galowicz - C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions

Here you can read online Jacek Galowicz - C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2017, publisher: Packt Publishing, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Jacek Galowicz C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions
  • Book:
    C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions
  • Author:
  • Publisher:
    Packt Publishing
  • Genre:
  • Year:
    2017
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Key Features
  • Learn the latest features of C++ and how to write better code by using the Standard Library (STL). Reduce the development time for your applications.
  • Understand the scope and power of STL features to deal with real-world problems.
  • Compose your own algorithms without forfeiting the simplicity and elegance of the STL way.
Book Description

C++ has come a long way and is in use in every area of the industry. Fast, efficient, and flexible, it is used to solve many problems. The upcoming version of C++ will see programmers change the way they code. If you want to grasp the practical usefulness of the C++17 STL in order to write smarter, fully portable code, then this book is for you.

Beginning with new language features, this book will help you understand the languages mechanics and library features, and offers insight into how they work. Unlike other books, ours takes an implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way.

By the end of the book, you will be up to date with the latest C++17 features and save time and effort while solving tasks elegantly using the STL.

What you will learn
  • Learn about the new core language features and the problems they were intended to solve
  • Understand the inner workings and requirements of iterators by implementing them
  • Explore algorithms, functional programming style, and lambda expressions
  • Leverage the rich, portable, fast, and well-tested set of well-designed algorithms provided in the STL
  • Work with strings the STL way instead of handcrafting C-style code
  • Understand standard support classes for concurrency and synchronization, and how to put them to work
  • Use the filesystem library addition available with the C++17 STL
About the Author

Jacek Galowicz obtained his master of science in electrical engineering/computer engineering at RWTH Aachen University, Germany. While at university, he enjoyed working as a student assistant in teaching and research, and he participated in several scientific publications. During and after his studies, he worked as a freelancer and implemented applications as well as kernel drivers in C and C++, touching various areas, including 3D graphics programming, databases, network communication, and physics simulation. In recent years, he has been programming performance- and security-sensitive microkernel operating systems for Intel x86 virtualization at Intel and FireEye in Braunschweig, Germany. He has a strong passion for modern C++ implementations of low-level software, and he tries hard to combine high performance with an elegant coding style. Learning purely functional programming and Haskell in recent years triggered his drive to implement generic code with the aid of meta programming.

Table of Contents
  1. The New C++17 Features
  2. STL Containers
  3. Iterators
  4. Lambda Expressions
  5. STL Algorithm Basics
  6. Advanced Use of STL Algorithms
  7. Strings, Stream Classes, and Regular Expressions
  8. Utility Classses
  9. Parallelism and Concurrency
  10. Filesystem

Jacek Galowicz: author's other books


Who wrote C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions? Find out the surname, the name of the author of the book and a list of all author's works by series.

C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Contents

  • 1: The New C++17 Features
    • b'Chapter 1: The New C++17 Features'
    • b'Introduction'
    • b'Using structured bindings to\xc3\x82\xc2\xa0unpack bundled return values'
    • b'Limiting variable scopes to if and switch statements'
    • b'Profiting from the new bracket initializer rules'
    • b'Letting the constructor automatically deduce the resulting template class type'
    • b'Simplifying compile time decisions with constexpr-if'
    • b'Enabling header-only libraries with inline variables'
    • b'Implementing handy helper functions with fold expressions'
  • 2: STL Containers
    • b'Chapter 2: STL Containers'
    • b'Introduction'
    • b'Using the erase-remove idiom on std::vector'
    • b'Deleting items from an unsorted std::vector in O(1) time'
    • b'Accessing std::vector instances the fast or the safe way'
    • b'Keeping std::vector instances sorted'
    • b'Inserting items efficiently and conditionally into std::map'
    • b'Knowing the new insertion hint semantics of std::map::insert'
    • b'Efficiently modifying the keys of std::map items'
    • b'Using std::unordered_map with custom types'
    • b'Filtering duplicates from user input and printing them in alphabetical order with std::set'
    • b'Implementing a simple RPN calculator with std::stack'
    • b'Implementing a word frequency counter with std::map'
    • b'Implement a writing style helper tool for finding very long sentences in text with std::multimap'
    • b'Implementing a personal to-do list using std::priority_queue'
  • 3: Iterators
    • b'Chapter 3: Iterators'
    • b'Introduction'
    • b'Building your own iterable range'
    • b'Making your own iterators compatible with STL iterator categories'
    • b'Using iterator adapters\xc3\x82\xc2\xa0to fill generic data structures'
    • b'Implementing algorithms in terms of iterators'
    • b'Iterating the other way around using reverse iterator adapters'
    • b'Terminating iterations over ranges with iterator\xc3\x82\xc2\xa0sentinels'
    • b'Automatically checking iterator code with checked iterators'
    • b'Building your own zip iterator adapter'
  • 4: Lambda Expressions
    • b'Chapter 4: Lambda Expressions'
    • b'Introduction'
    • b'Defining functions on the run using lambda expressions'
    • b'Adding polymorphy by wrapping lambdas into std::function'
    • b'Composing functions by concatenation'
    • b'Creating complex predicates with logical conjunction'
    • b'Calling multiple functions with the same input'
    • b'Implementing transform_if using std::accumulate and lambdas'
    • b'Generating cartesian product pairs of any input at compile time'
  • 5: STL Algorithm Basics
    • b'Chapter 5: STL Algorithm Basics'
    • b'Introduction'
    • b'Copying items from containers to other containers'
    • b'Sorting containers'
    • b'Removing specific items from containers'
    • b'Transforming the contents of containers'
    • b'Finding items in ordered and unordered vectors'
    • b'Limiting\xc3\x82\xc2\xa0the values\xc3\x82\xc2\xa0of a vector to a specific numeric range with std::clamp'
    • b'Locating patterns in strings with std::search and choosing the optimal implementation'
    • b'Sampling large vectors'
    • b'Generating permutations of input sequences'
    • b'Implementing a dictionary merging tool'
  • 6: Advanced Use of STL Algorithms
    • b'Chapter 6: Advanced Use of STL Algorithms'
    • b'Introduction'
    • b'Implementing a trie class using STL algorithms'
    • b'Implementing\xc3\x82\xc2\xa0a search input\xc3\x82\xc2\xa0suggestion generator with tries'
    • b'Implementing the Fourier transform formula with STL numeric algorithms'
    • b'Calculating the error sum of two vectors'
    • b'Implementing an ASCII Mandelbrot renderer'
    • b'Building our own algorithm - split'
    • b'Composing useful algorithms from standard algorithms - gather'
    • b'Removing consecutive whitespace between words'
    • b'Compressing and decompressing strings'
  • 7: Strings, Stream Classes, and Regular Expressions
    • b'Chapter 7: Strings, Stream Classes, and Regular Expressions'
    • b'Introduction'
    • b'Creating, concatenating, and transforming strings'
    • b'Trimming whitespace from the beginning and end of strings'
    • b'Getting the comfort of std::string\xc3\x82\xc2\xa0without the cost of constructing std::string objects'
    • b'Reading values\xc3\x82\xc2\xa0from user input'
    • b'Counting all words in a file'
    • b'Formatting your output with I/O stream manipulators'
    • b'Initializing complex objects from file input'
    • b'Filling containers from std::istream iterators'
    • b'Generic printing with std::ostream iterators'
    • b'Redirecting output to files for specific code sections'
    • b'Creating custom string classes by inheriting from std::char_traits'
    • b'Tokenizing input with the regular expression library'
    • b'Comfortably pretty printing numbers differently per context on the fly'
    • b'Catching readable exceptions from std::iostream errors'
  • 8: Utility Classes
    • b'Chapter 8: Utility Classes'
    • b'Introduction'
    • b'Converting between different time units using std::ratio'
    • b'Converting between absolute and relative times with\xc3\x82\xc2\xa0std::chrono'
    • b'Safely signalizing failure with std::optional'
    • b'Applying functions on tuples'
    • b'Quickly composing data structures with std::tuple'
    • b'Replacing void* with std::any for more type safety'
    • b'Storing different types with std::variant'
    • b'Automatically handling resources with std::unique_ptr'
    • b'Automatically handling shared heap memory with std::shared_ptr'
    • b'Dealing with\xc3\x82\xc2\xa0weak pointers to\xc3\x82\xc2\xa0shared objects'
    • b'Simplifying resource handling of legacy APIs with smart pointers'
    • b'Sharing different member values\xc3\x82\xc2\xa0of the same object'
    • b'Generating random numbers and choosing the right random number engine'
    • b'Generating\xc3\x82\xc2\xa0random numbers and letting the STL shape specific distributions'
  • 9: Parallelism and Concurrency
    • b'Chapter 9: Parallelism and Concurrency'
    • b'Introduction'
    • b'Automatically parallelizing code that uses standard algorithms'
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions»

Look at similar books to C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions»

Discussion, reviews of the book C++17 STL Cookbook: Discover the latest enhancements to functional programming and lambda expressions and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.