1. Trang chủ
  2. » Công Nghệ Thông Tin

Antony polukhin boost c++ application development cookbook

348 706 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Cover

  • Copyright

  • Credits

  • About the Author

  • About the Reviewers

  • www.PacktPub.com

  • Table of Contents

  • Preface

  • Chapter 1: Starting to Write Your Application

    • Introduction

    • Getting configuration options

    • Storing any value in a container/variable

    • Storing multiple chosen types in a variable/container

    • 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

    • Reordering the parameters of function

    • Binding a value as a function parameter

    • Using the C++11 move emulation

    • Making a noncopyable class

    • Making a noncopyable 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

    • Managing pointers to classes that do not leave scope

    • Reference counting of pointers to classes used across methods

    • Managing pointers to arrays that do not leave scope

    • Reference counting pointers to arrays used across methods

    • Storing any functional objects in a variable

    • Passing a function pointer in a variable

    • Passing C++11 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

    • Disabling templated functions' usage for real types

    • Creating a type from number

    • Implementing a type trait

    • Selecting an optimal operator for a template parameter

    • Getting a type of expression in C++03

  • Chapter 5: Multithreading

    • Introduction

    • Creating an execution thread

    • Syncing access to a common resource

    • Fast access to 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

    • Making timers and processing timer events as tasks

    • Network communication as a task

    • Accepting incoming connections

    • Executing different tasks in parallel

    • Conveyor tasks processing

    • Making a nonblocking barrier

    • Storing an exception and making a task from it

    • Getting and processing system signals as tasks

  • Chapter 7: Manipulating Strings

    • Introduction

    • 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

    • 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

  • Chapter 12: Scratching the Tip of the Iceberg

    • Introduction

    • Working with graphs

    • Visualizing graphs

    • Using a true random number generator

    • Using portable math functions

    • Writing test cases

    • Combining multiple test cases in one test module

    • Manipulating images

  • Index

Nội dung

Đây là quyển sách tiếng anh về lĩnh vực công nghệ thông tin cho sinh viên và những ai có đam mê. Quyển sách này trình về lý thuyết ,phương pháp lập trình cho ngôn ngữ C và C++.

[...]... considered for inclusion in the next standard of C++ The current boost: :optional implementation cannot work with C++1 1 rvalue references; however, there are some patches proposed to fix that The C++1 1 standard does not include the Boost. Optional class; however, it is currently being reviewed for inclusion in the next C++ standard or in C++1 4 24 Chapter 1 See also ff Boost' s official documentation contains more... available solutions Boost C++ Application Development Cookbook starts out teaching the basics of the Boost libraries that are now mostly part of C++1 1 and leave no chance for memory leaks Managing resources will become a piece of cake We'll see what kind of work can be done at compile time and what Boost containers can do Do you think multithreading is a burden? Not with Boost Do you think writing portable... count: 20 There's more The C++1 1 standard adopted many Boost libraries; however, you won't find Boost ProgramOptions in it See also ff Boost' s official documentation contains many more examples and shows more advanced features of Boost. ProgramOptions, such as position-dependent options, nonconventional syntax, and more This is available at the following link: http://www .boost. org/doc/libs/1_53_0/doc/html/program_options... working with the header-only library Basic knowledge of C++ is all you need for this recipe How to do it In such cases, Boost offers a solution, the Boost. Any library, which has an even better syntax: #include #include #include #include 13 Starting to Write Your Application int main() { std::vector some_values; some_values.push_back(10); const... knowledge of C++ is all you need for this recipe How to do it Let me introduce the Boost. Variant library to you 1 The Boost. Variant library can store any of the types specified at compile time; it also manages in-place construction/destruction and doesn't even require the C++1 1 standard: #include #include #include #include int main() { typedef boost: :variant . alt="" Boost C++ Application Development Cookbook Over 80 practical, task-based recipes to create applications using Boost libraries Antony Polukhin . available solutions. Boost C++ Application Development Cookbook starts out teaching the basics of the Boost libraries that are now mostly part of C++1 1 and leave

Ngày đăng: 19/03/2014, 14:05

TỪ KHÓA LIÊN QUAN