Description of Boost C++ Application Development Cookbook 1st Edition
Boost C++ application development cookbook written by Antony Polukhin is a great book for C++ programming studies available in (PDF) download. This Boost C++ Application Development Cookbook book Boost is a collection of C++ libraries. Reviewed each library by professional programmers before being accepted to Boost. Using many compilers, libraries are tested on multiple platforms and the C++ standard library implementations. While using Boost, you can be sure that you are using one of the most portable, fast, and reliable solutions that are distributed under a license suitable for commercial and open-source projects. Many parts of Boost applications have been included in C++ 11, and even more, parts are going to be included in the next standard of C++. You will find C++11-specific notes in each recipe of this Boost C++ Application Development Cookbook book.
Now that we know some of the basic Boost types for applications, the time is known as some data-converting functions. We'll see how to convert user-defined strings and number types to each other, how to safely cast polymorphic types, and how to write small and large parsers right inside the C++ source files.
Content of Boost C++ Application Development Cookbook 1st Edition
Chapter 1: Starting to Write Your Application
Introduction
Getting configuration options
Storing any value in a container/variable
Storing multiple chosen types in a container/variable
Using the safe way to work with a container that stores multiple chosen types
Returning a flag or value where there is no value
Returning an array from a function
Combining multiple values into one
Reordering the parameters of function
Binding a function parameter value
Using the C++11 move emulation
Making a non-copyable class
Making a non-copyable but movable class
Chapter 2: Converting Data
Introduction
Converting strings to numbers
Converting numbers to strings
Converting numbers to numbers
Converting user-defined types to/from strings
Casting polymorphic objects
Parsing simple input
Parsing input
Chapter 3: Managing Resources
Introduction
Pointers managing to classes that do not leave scope
Pointers reference counting to classes used across methods
Pointers managing to arrays that do not leave scope
Reference counting pointers to arrays used across methods
Any functional objects storing in a variable
Passing a function pointer is a variable
Passing C++ Eleven lambda functions in a variable
Containers of pointers
Doing something at scope exit
Initializing the base class by a member of the derived class
Chapter 4: Compile-time Tricks
Introduction
Checking sizes at compile time
Enabling the usage of templated functions for integral types
Templated functions disabling usage for real types
Creating a type from number
Implementing a type trait
An optimal operator selecting for a template parameter
Getting of expression in C++03 type
Chapter 5: Multithreading
Introduction
Creating an execution thread
Syncing access to a common resource
Fast access to a common resource using atomics
Creating a work_queue class
Multiple-readers-single-writer lock
Creating variables that are unique per thread
Interrupting a thread
Manipulating a group of threads
Chapter 6: Manipulating Tasks
Introduction
Registering a task for processing an arbitrary datatype
Processing timer and making timers events as tasks
Network communication as a task
Accepting incoming connections
Executing different tasks in parallel
Conveyor tasks processing
Making a nonblocking barrier
Storing a making an exception a task from it
The processing system and getting signals as tasks
Chapter 7: Manipulating Strings
Introduction
Changing cases and case-insensitive comparison
Matching strings using regular expressions
Replacing and searching strings using regular expressions
Formatting strings using safe printf-like functions
Replacing and erasing strings
Representing a string with two iterators
Using a reference to string type
Chapter 8: Metaprogramming
Introduction
Using type "vector of types"
Manipulating a vector of types
Getting a function's result type at compile time
Making a higher-order metafunction
Evaluating metafunctions lazily
Converting all the tuple elements to strings
Splitting tuples
Chapter 9: Containers
Introduction
Comparing strings in an ultra-fast manner
Using an unordered set and map
Making a map, where value is also a key
Using multi-index containers
Getting the benefits of single-linked list and memory pool
Using flat associative containers
Chapter 10: Gathering Platform and Compiler Information
Introduction
Detecting int128 support
Detecting RTTI support
Speeding up compilation using C++11 extern templates
Writing metafunctions using simpler methods
Reducing code size and increasing performance of user-defined
types (UDTs) in C++11
The portable way to export and import functions and classes
Detecting the Boost version and getting latest features
Chapter 11: Working with the System
Introduction
Listing files in a directory
Erasing and creating files and directories
Passing data quickly from one process to another
Syncing interprocess communications
Using pointers in shared memory
The fastest way to read files
Coroutines – saving the state and postponing the execution
0 comments: