Learning Boost C++ Libraries : (Record no. 54826)
[ view plain ]
000 -LEADER | |
---|---|
fixed length control field | 10111nam a22005053i 4500 |
001 - CONTROL NUMBER | |
control field | EBC2122136 |
003 - CONTROL NUMBER IDENTIFIER | |
control field | MiAaPQ |
005 - DATE AND TIME OF LATEST TRANSACTION | |
control field | 20240729123833.0 |
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS | |
fixed length control field | m o d | |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION | |
fixed length control field | cr cnu|||||||| |
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION | |
fixed length control field | 240724s2015 xx o ||||0 eng d |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
International Standard Book Number | 9781783551224 |
Qualifying information | (electronic bk.) |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER | |
Canceled/invalid ISBN | 9781783551217 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (MiAaPQ)EBC2122136 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (Au-PeEL)EBL2122136 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (CaPaEBR)ebr11084778 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (CaONFJC)MIL819057 |
035 ## - SYSTEM CONTROL NUMBER | |
System control number | (OCoLC)919508998 |
040 ## - CATALOGING SOURCE | |
Original cataloging agency | MiAaPQ |
Language of cataloging | eng |
Description conventions | rda |
-- | pn |
Transcribing agency | MiAaPQ |
Modifying agency | MiAaPQ |
050 #4 - LIBRARY OF CONGRESS CALL NUMBER | |
Classification number | QA76.73.C153 |
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER | |
Classification number | 005.13/3;005.133 |
100 1# - MAIN ENTRY--PERSONAL NAME | |
Personal name | Mukherjee, Arindam. |
245 10 - TITLE STATEMENT | |
Title | Learning Boost C++ Libraries : |
Remainder of title | Solve Practical Programming Problems Using Powerful, Portable, and Expressive Libraries from Boost. |
250 ## - EDITION STATEMENT | |
Edition statement | 1st ed. |
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Place of production, publication, distribution, manufacture | Birmingham : |
Name of producer, publisher, distributor, manufacturer | Packt Publishing, Limited, |
Date of production, publication, distribution, manufacture, or copyright notice | 2015. |
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE | |
Date of production, publication, distribution, manufacture, or copyright notice | ©2015. |
300 ## - PHYSICAL DESCRIPTION | |
Extent | 1 online resource (558 pages) |
336 ## - CONTENT TYPE | |
Content type term | text |
Content type code | txt |
Source | rdacontent |
337 ## - MEDIA TYPE | |
Media type term | computer |
Media type code | c |
Source | rdamedia |
338 ## - CARRIER TYPE | |
Carrier type term | online resource |
Carrier type code | cr |
Source | rdacarrier |
505 0# - FORMATTED CONTENTS NOTE | |
Formatted contents note | 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 Windows -- Building 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 arguments -- Designing 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. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | boost::scoped_array -- std::unique_ptr -- Shared ownership semantics -- boost::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 metacharacters -- Tokenizing 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 -- Flat associative containers -- slist -- stable_vector -- static_vector -- Fast lookups using Boost Unordered containers -- Containers for dynamically-allocated objects -- Ownership semantics of pointer containers -- Null pointers in pointer containers -- Expressive initialization and assignment using Boost.Assign -- Assigning lists of values to containers -- Initializing containers with lists of values -- Initializing pointer containers and assigning values -- Iteration patterns using Boost.Iterator -- Smart iteration using Boost.Iterator -- Filter Iterator -- Transform Iterator -- Function Output Iterator. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Creating conforming iterators for custom classes -- Self-test questions -- Summary -- References -- Chapter 6: Bimap and Multi-index Containers -- Containers for multi-criteria lookups -- Boost Multi-index containers -- Index types -- Range lookups using lambda -- Insertions and updates -- Boost Bimap -- Collection types -- More ways to use bimaps -- Tagged access -- Projections -- Self-test questions -- Summary -- References -- Chapter 7: Higher Order and Compile-time Programming -- Higher order programming with Boost -- Function objects -- Lambdas - unnamed function literals -- Delegates and closures -- Partial function application -- Compile-time programming with Boost -- Basic compile-time control flow using templates -- Branching -- Recursion -- Boost Type Traits -- SFINAE and enable_if / disable_if -- The Boost Metaprogramming Library (MPL) -- Metafunctions -- Using MPL metafunctions -- Domain Specific Embedded Languages -- Lazy evaluation -- Expression templates -- Boost Phoenix -- Boost Spirit Parser Framework -- Using Spirit Qi -- Self-test questions -- Summary -- References -- Chapter 8: Date and Time Libraries -- Date and time calculations with Boost Date Time -- Dates from the Gregorian calendar -- Creating date objects -- Handling date durations -- Date periods -- Posix time -- Constructing time points and durations -- Resolution -- Time periods -- Time iterator -- Using Chrono to measure time -- Durations -- Duration arithmetic -- Clocks and time points -- Measuring program performance using Boost Timer -- cpu_timer -- auto_cpu_timer -- Self-test questions -- Summary -- References -- Chapter 9: Files, Directories, and IOStreams -- Managing files and directories with Boost Filesystem -- Manipulating paths -- Printing paths -- Constructing paths -- Breaking paths into components -- Traversing directories -- Querying filesystem entries. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Performing operations on files -- Creating directories -- Creating symbolic links -- Copying files -- Moving and deleting files -- Path-aware fstreams -- Extensible I/O with Boost IOStreams -- Architecture of Boost IOStreams -- Using devices -- Devices for file I/O -- Devices for reading and writing to memory -- Using filters -- Basic filters -- Filters for compression and decompression -- Composing filters -- Self-test questions -- Summary -- Chapter 10: Concurrency with Boost -- Creating concurrent tasks with Boost Thread -- Using Boost Threads -- Moving threads and waiting on threads -- Thread IDs -- Cores and threads -- Managing shared data -- Creating and coordinating concurrent tasks -- boost::future and boost::promise -- Waiting for future -- Throwing exceptions across threads -- shared_future -- std::future and std::promise -- std::packaged_task and std::async -- Lock-based thread synchronization methods -- Data races and atomic operations -- Mutual exclusion and critical sections -- Synchronizing on conditions -- The Readers-Writers problem -- Standard Library primitives -- Boost Coroutine -- Asymmetric coroutines -- Self-test questions -- Summary -- References -- Chapter 11: Network Programming Using Boost Asio -- Task execution with Asio -- IO Service, queues, and handlers -- Handler states - run_one, poll, and poll_one -- post versus dispatch -- Concurrent execution via thread pools -- io_service::work -- Serialized and ordered execution via strands -- Network I/O using Asio -- UDP and TCP -- IP addresses -- IPv4 addresses -- IPv6 addresses -- Endpoints, sockets, and name resolution -- Ports -- Sockets -- Hostnames and domain names -- Buffers -- Buffer sequences for vectored I/O -- Synchronous and asynchronous communications -- Asio deadline timer -- Asynchronous logic using Asio coroutines -- UDP -- Synchronous UDP client and server. |
505 8# - FORMATTED CONTENTS NOTE | |
Formatted contents note | Asynchronous UDP server -- Performance and concurrency -- TCP -- Establishing a TCP connection -- Synchronous TCP client and server -- Asynchronous TCP server -- Self-test questions -- Summary -- References -- Appendix: C++11 Language Features Emulation -- RAII -- Copy semantics -- The nothrow swap -- Move semantics and rvalue references -- rvalue references -- rvalue-reference overloads -- Move assignment -- xvalues -- Move emulation using Boost.Move -- C++11 auto and Boost.Auto -- Type deduction rules -- Common uses -- Boost.Auto -- Range-based for-loops -- Boost.Foreach -- C++11 exception-handling improvements -- Storing and rethrowing exceptions -- Storing and rethrowing exception using Boost -- Self-test questions -- References -- Index. |
588 ## - SOURCE OF DESCRIPTION NOTE | |
Source of description note | Description based on publisher supplied metadata and other sources. |
590 ## - LOCAL NOTE (RLIN) | |
Local note | Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | C++ (Computer program language). |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Computer software -- Development. |
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM | |
Topical term or geographic name entry element | Microsoft Visual C++. |
655 #4 - INDEX TERM--GENRE/FORM | |
Genre/form data or focus term | Electronic books. |
776 08 - ADDITIONAL PHYSICAL FORM ENTRY | |
Relationship information | Print version: |
Main entry heading | Mukherjee, Arindam |
Title | Learning Boost C++ Libraries |
Place, publisher, and date of publication | Birmingham : Packt Publishing, Limited,c2015 |
International Standard Book Number | 9781783551217 |
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN) | |
Corporate name or jurisdiction name as entry element | ProQuest (Firm) |
856 40 - ELECTRONIC LOCATION AND ACCESS | |
Uniform Resource Identifier | <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=2122136">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=2122136</a> |
Public note | Click to View |
No items available.