2 options
Boost C++ application development cookbook : recipes to simplify your application development / Antony Polukhin.
- Format:
- Book
- Author/Creator:
- Polukhin, Antony, author.
- Language:
- English
- Subjects (All):
- C.
- Physical Description:
- 1 online resource (433 pages)
- Edition:
- Second edition.
- Other Title:
- Boost C plus plus application development cookbook
- Place of Publication:
- Birmingham, [England] ; Mumbai, [India] : Packt Publishing, 2017.
- System Details:
- text file
- Summary:
- Learn to build applications faster and better by leveraging the real power of Boost and C++ About This Book Learn to use the Boost libraries to simplify your application development Learn to develop high quality, fast and portable applications Learn the relations between Boost and C++11/C++4/C++17 Who This Book Is For This book is for developers looking to improve their knowledge of Boost and who would like to simplify their application development processes. Prior C++ knowledge and basic knowledge of the standard library is assumed. What You Will Learn Get familiar with new data types for everyday use Use smart pointers to manage resources Get to grips with compile-time computations and assertions Use Boost libraries for multithreading Learn about parallel execution of different task Perform common string-related tasks using Boost libraries Split all the processes, computations, and interactions to tasks and process them independently Learn the basics of working with graphs, stacktracing, testing and interprocess communications Explore different helper macros used to detect compiler, platform and Boost features In Detail If you want to take advantage of the real power of Boost and C++ and avoid the confusion about which library to use in which situation, then this book is for you. Beginning with the basics of Boost C++, you will move on to learn how the Boost libraries simplify application development. You will learn to convert data such as string to numbers, numbers to string, numbers to numbers and more. Managing resources will become a piece of cake. You’ll see what kind of work can be done at compile time and what Boost containers can do. You will learn everything for the development of high quality fast and portable applications. Write a program once and then you can use it on Linux, Windows, MacOS, Android operating systems. From manipulating images to graphs, directories, timers, files, networking – everyone will find an interesting topic. Be sure that knowledge from this book won’t get outdated, as more and more Boost libraries become part of the C++ Standard. Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.
- Contents:
- Cover
- Title Page
- Copyright
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Starting to Write Your Application
- Introduction
- Getting configuration options
- Getting ready
- How to do it...
- How it works...
- There's more...
- See also
- Storing any value in a container/variable
- Storing multiple chosen types in a container/variable
- Using a safer way to work with a container that stores multiple chosen types
- Returning a value or flag where there is no value
- Returning an array from a function
- Combining multiple values into one
- Binding and reordering function parameters
- Getting a human-readable type name
- How to do it
- Using the C++11 move emulation
- Making a noncopyable class
- Making a noncopyable but movable class
- Using C++14 and C++11 algorithms
- There's more.
- See also
- Chapter 2: Managing Resources
- Managing local pointers to classes that do not leave scope
- Getting started
- Reference counting of pointers to classes used across functions
- Managing pointers to arrays that do not leave scope
- Reference counting of pointers to arrays used across functions
- Storing any functional objects in a variable
- Passing function pointer in a variable
- Passing C++11 lambda functions in a variable
- Containers of pointers
- Do it at scope exit!
- Initializing the base class by the member of the derived class
- Chapter 3: Converting and Casting
- Converting strings to numbers
- Converting numbers to strings
- Converting numbers to numbers
- Converting user-defined types to/from strings.
- How to do it...
- Converting smart pointers
- Casting polymorphic objects
- Parsing simple input
- Parsing complex input
- Chapter 4: Compile-Time Tricks
- Checking sizes at compile time
- Enabling function template usage for integral types
- Disabling function template usage for real types
- Creating a type from a number
- Implementing a type trait
- Selecting an optimal operator for a template parameter
- Getting a type of expression in C++03
- Chapter 5: Multithreading
- Creating a thread of execution
- Syncing access to a common resource
- Fast access to common resource using atomics
- How it works.
- There's more...
- Creating work_queue class
- Multiple-readers-single-writer lock
- Creating variables that are unique per thread
- Interrupting a thread
- Manipulating a group of threads
- Initializing a shared variable safely
- There's more..
- Locking multiple mutexes
- Chapter 6: Manipulating Tasks
- Before you start
- Registering a task for an arbitrary data type processing
- Making timers and processing timer events as tasks
- Network communication as a task
- Accepting incoming connections
- Executing different tasks in parallel
- Pipeline tasks processing
- Making a nonblocking barrier
- Storing an exception and making a task from it.
- Getting ready
- Getting and processing system signals as tasks
- There is more...
- Chapter 7: Manipulating Strings
- Changing cases and case-insensitive comparison
- Matching strings using regular expressions
- Searching and replacing 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
- 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
- See also.
- Converting all the tuple elements to strings.
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed September 25, 2017).
- OCLC:
- 1004395121
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.