Cargando…

Learning Boost C++ libraries : solve practical programming problems using powerful, portable, and expressive libraries from Boost /

If you are a C++ programmer who has never used Boost libraries before, this book will get you up-to-speed with using them. Whether you are developing new C++ software or maintaining existing code written using Boost libraries, this hands-on introduction will help you decide on the right library and...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Mukherjee, Arindam (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2015.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Introducing Boost; How it all started; What is Boost?; Getting started with Boost libraries; Necessary software; Linux toolchain; Windows toolchain; Obtaining and building Boost libraries; Planning your Boost sandbox; Library naming conventions; Library name components; Library name layouts; Installing a Boost binary distribution; Building and installing the Boost libraries from source; Using Boost libraries in your projects; Linking against Boost libraries on Linux
  • Linking against Boost libraries on WindowsBuilding the code listings in this book; CMake; Code examples; Self-test questions; Summary; Chapter 2: The First Brush with Boost's Utilities; Simple data structures; Boost. Optional; Accessing values stored in boost::optional; get_value_or; Boost. Optional versus pointers; Boost. Tuple; Creating tuples; Accessing tuple elements; Comparing tuples; Writing generic code using tuples; Working with heterogeneous values; Boost. Variant; Accessing values in a variant; Defining recursive variants; Boost. Any; Boost. Conversion; lexical_cast
  • Handling command-line argumentsDesigning command-line options; The diff command
  • a case study; Using Boost. Program_Options; Parsing positional parameters; Multiple option values; Other utilities and compile-time checks; BOOST_CURRENT_FUNCTION; Boost. Swap; Compile-time asserts; Diagnostics using preprocessor macros; Self-test questions; Summary; References; Chapter 3: Memory Management and Exception Safety; Dynamic memory allocation and exception safety; Exception safety and RAII; Smart pointers; Unique ownership semantics; boost::scoped_ptr; boost::scoped_array; std::unique_ptr
  • Shared ownership semanticsboost::shared_ptr and std::shared_ptr; Intrusive smart pointers
  • boost::intrusive_ptr; shared_array; Managing non-memory resources using smart pointers; Self-test questions; Summary; References; Chapter 4: Working with Strings; Text processing with Boost String Algorithms library; Using Boost String Algorithms; Find algorithms; Case-conversion and trimming algorithms; The replace and erase algorithms; The split and join algorithms; Splitting text using the Boost Tokenizer library; Tokenizing based on separators
  • Tokenizing records with fields containing metacharactersTokenizing records with fixed-length fields; Writing your own tokenizer functions; Regular expressions using Boost. Regex; Regular expression syntax; Atoms; Quantifiers; Character classes; Anchors; Sub-expressions; Disjunctions; Using Boost. Regex to parse regular expressions; Matching text; Searching text; Tokenizing text using regex; Replacing text; Self-test questions; Summary; Chapter 5: Effective Data Structures beyond STL; Boost Container library; Move-awareness and in-place construction; Nonstandard containers