Part I. The Boost C++ Libraries (BoostBook Subset)
Table of Contents
- 1. Boost.Accumulators
- Preface
- User's Guide
- Acknowledgements
- Reference
- 2. Boost String Algorithms Library
- Introduction
- Release Notes
- Usage
- Quick Reference
- Design Topics
- Concepts
- Reference
- Rationale
- Environment
- Credits
- 3. The Boost Algorithm Library
- Description and Rationale
- Searching Algorithms
- C++11 Algorithms
- C++14 Algorithms
- Other Algorithms
- Reference
- 4. Boost.Align
- Introduction
- Rationale
- Examples
- Reference
- Vocabulary
- Compatibility
- Acknowledgments
- History
- 5. Boost.Any
- Introduction
- Examples
- Reference
- Acknowledgements
- 6. Boost.Array
- Introduction
- Reference
- Design Rationale
- For more information...
- Acknowledgements
- 7. Boost.Atomic
- Introduction
- Thread coordination using Boost.Atomic
- Programming interfaces
- Usage examples
- Limitations
- Porting
- 8. Boost.Chrono 2.0.5
- Overview
- User's Guide
- Reference
- Appendices
- 9. Boost.Circular Buffer
- Introduction
- Circular_buffer example
- Rationale
- Implementation
- More Examples
- Header Files
- Modelled Concepts
- Template Parameters
- Trac Tickets
- Release Notes
- Acknowledgements
- Documentation Version Info
- Boost.Circular_buffer C++ Reference
- Index
- 10. Boost.Container
- Introduction
- Main features
- Boost.Container and C++ exceptions
- Non-standard containers
- Extended functionality
- C++11/C++14 Conformance
- Known Issues
- History and reasons to use
Boost.Container
- Indexes
- Boost.Container Header Reference
- Acknowledgements, notes
and links
- Release Notes
- 11. The Conversion Library 1.6
- Description
- Polymorphic casts
polymorphic_cast
,
polymorphic_downcast
, polymorphic_pointer_cast
and
polymorphic_pointer_downcast
synopsis
polymorphic_downcast
example
polymorphic_pointer_downcast
example
- History
- 12. Boost.Date_Time
- Conceptual
- General Usage Examples
- Gregorian
- Posix Time
- Local Time
- Date Time Input/Output
- Serialization
- Details
- Examples
- Library Reference
- 13. Boost.DLL
- Motivation
- Getting started
- Tutorial
- Mangled Import
- Missuses
- Reference
- Limitations
- F.A.Q.
- Design Rationale
- Dependencies
- Revision History
- Acknowledgements
- 14. Boost.Foreach
- Introduction
- Extensibility
- Portability
- Pitfalls
- History and Acknowledgements
- 15. Boost.Function
- Introduction
- History & Compatibility Notes
- Tutorial
- Reference
- Frequently Asked Questions
- Miscellaneous Notes
- Testsuite
- 16. Boost.Functional/Hash
- Introduction
- Tutorial
- Extending boost::hash for a custom data type
- Combining hash values
- Portability
- Disabling The Extensions
- Change Log
- Rationale
- Reference
- Links
- Acknowledgements
- 17. Boost.Heap
- Introduction & Motivation
- Concepts & Interface
- Data Structures
- Reference
- Acknowledgements
- 18. Boost.Interprocess
- Introduction
- Quick Guide for the Impatient
- Some basic explanations
- Sharing memory
between processes
- Mapping Address Independent Pointer:
offset_ptr
- Synchronization
mechanisms
- Managed Memory Segments
- Allocators, containers
and memory allocation algorithms
- Memory allocation algorithms
- Direct iostream formatting: vectorstream
and bufferstream
- Ownership smart pointers
- Architecture and internals
- Customizing Boost.Interprocess
- Acknowledgements,
notes and links
- Indexes and Reference
- 19. Boost.Intrusive
- Introduction
- Intrusive and non-intrusive
containers
- How to use Boost.Intrusive
- When to use?
- Concept summary
- Presenting Boost.Intrusive
containers
- Safe hooks
- Auto-unlink hooks
- Intrusive singly linked list: slist
- Intrusive doubly linked list: list
- Intrusive associative containers:
set, multiset, rbtree
- Semi-Intrusive
unordered associative containers: unordered_set, unordered_multiset
- Map and multimap-like interface
for associative containers
- Intrusive avl tree based associative
containers: avl_set, avl_multiset and avltree
- Intrusive splay tree based
associative containers: splay_set, splay_multiset and , splay_tree
- Intrusive scapegoat tree based
associative containers: sg_set, sg_multiset and sgtree
- Intrusive treap based associative
containers: treap_set, treap_multiset and treap
- Binary search tree hooks: bs_set_base_hook
and bs_set_member_hook
- Advanced lookup
and insertion functions for associative containers
- Erasing and disposing
values from Boost.Intrusive containers
- Cloning Boost.Intrusive containers
- Using function hooks
- Recursive Boost.Intrusive containers
- Using smart pointers with
Boost.Intrusive containers
- Obtaining iterators
from values
- Any Hooks: A single hook for any Intrusive
container
- Concepts explained
- Node algorithms with custom
NodeTraits
- Containers with custom ValueTraits
- Thread safety guarantees
- Boost.Intrusive Iterator
features
- Stability and insertion
with hint in ordered associative containers with equivalent keys
- Obtaining
the same types and reducing symbol length
- Design Notes
- Performance
- Release Notes
- Tested compilers
- References
- Acknowledgements
- Indexes
- Reference
- 20. Boost.Lambda
- In a nutshell
- Getting Started
- Introduction
- Using the library
- Lambda expressions in details
- Extending return type deduction system
- Practical considerations
- Relation to other Boost libraries
- Contributors
- Rationale for some of the design decisions
- Bibliography
- 21. Boost.Lexical_Cast 1.0
- Motivation
- Examples
- Synopsis
- Frequently
Asked Questions
- Changes
- Performance
- 22. Boost.Lockfree
- Introduction &
Motivation
- Examples
- Rationale
- Reference
- Appendices
- 23. Boost.Tribool
- Introduction
- Tutorial
- Reference
- Testsuite
- 24. Boost.Metaparse
- Description
- Related publications
and blogs
- Preface
- Getting
started with Boost.Metaparse
- User manual
- Versioning
- Performance
- The design of the
library
- Reference
- 25. Boost.Move
- What is Boost.Move?
- Introduction
- Implementing copyable
and movable classes
- Composition or inheritance
- Movable but Non-Copyable Types
- Containers and move semantics
- Constructor Forwarding
- Implicit Move when returning a local
object
- Move iterators
- Move inserters
- Move algorithms
- Emulation limitations
- How the library works
- Thanks and credits
- Release Notes
- Reference
- 26. Boost.MPI
- Introduction
- Getting started
- Tutorial
- Reference
- Python Bindings
- 27. Boost.MultiArray Reference Manual
- Library Synopsis
- MultiArray Concept
- Array Components
- Auxiliary Components
- 28. Boost.Predef 1.5
- Introduction
- Using the predefs
- Adding new predefs
- Reference
- Check Utilities
- History
- To Do
- Acknoledgements
- 29. Boost.Process
- Introduction
- Concepts
- Tutorial
- Design Rationale
- Extensions
- Frequently Asked Questions
- Reference
- Acknowledgements
- 30. Boost.Program_options
- Introduction
- Tutorial
- Library Overview
- How To
- Design Discussion
- Acknowledgements
- Reference
- 31. Boost.PropertyTree
- What is Property Tree?
- Five Minute Tutorial
- Property Tree as a Container
- Property Tree Synopsis
- How to Populate a Property Tree
- How to Access Data in a Property
Tree
- Appendices
- Reference
- 32. Boost.Proto
- Preface
- Users' Guide
- Reference
- Appendices
- 33. Boost.Random
- Introduction
- Tutorial
- Reference
- Performance
- History and
Acknowledgements
- 34. Boost.Ratio 2.1.0
- Overview
- User's Guide
- Reference
- Appendices
- 35. Boost.Signals
- Introduction
- Tutorial
- Reference
- Frequently Asked Questions
- Design Overview
- Design Rationale
- Testsuite
- 36. Boost.Signals2
- Introduction
- Tutorial
- Example programs
- Reference
- Thread-Safety
- Frequently Asked Questions
- Design Rationale
- Signals2 API Changes
- Testsuite
- 37. Boost.StaticAssert
- Overview and Tutorial
- How it works
- Test Programs
- 38. Thread 4.7.2
- Overview
- Using and building the library
- History
- Future
- Thread Management
- Scoped Threads
- Synchronization
- Thread Local Storage
- Synchronized Data Structures
- Parallel - Fork-Join -- EXPERIMENTAL
- Time Requirements
- Emulations
- Acknowledgments
- Conformance and Extension
- 39. Boost.TR1
- Introduction
- Usage
- Configuration
- TR1 By Subject
- TR1 By Header
- Implementation
- Testing
- 40. Boost.TypeErasure
- Introduction
- How to read this documentation
- Basic Usage
- Composing Concepts
- Functions with Multiple Arguments
- Concepts in Depth
- Using Any
- Examples
- Concept Definitions
- Predefined Concepts
- Reference
- Rationale
- Future Work
- Acknowledgements
- Related Work
- 41. Boost.TypeIndex 4.1
- Motivation
- Getting started
- Configuring and building the library
- How it works
- Examples
- Boost.TypeIndex Header Reference
- Making a custom
type_index
- Space and Performance
- Code bloat
- RTTI emulation
limitations
- Mixing
sources with RTTI on and RTTI off
- Acknowledgements
- 42. Boost.Typeof
- Motivation
- Tutorial
- Reference
- Other considerations and tips
- Contributed By:
- Acknowledgements
- 43. Boost.Units 1.1.0
- Introduction
- Quick Start
- Dimensional Analysis
- Units
- Quantities
- Examples
- Utilities
- Reference
- Installation
- FAQ
- Acknowledgements
- Help Wanted
- Version Info
- Release Notes
- TODO
- 44. Boost.Unordered
- Introduction
- The Data Structure
- Equality Predicates and Hash Functions
- Comparison with Associative Containers
- C++11 Compliance
- Implementation Rationale
- Change Log
- Reference
- Bibliography
- 45. Boost.Variant
- Introduction
- Tutorial
- Reference
- Design Overview
- Miscellaneous Notes
- References
- 46. Boost.Xpressive
- Preface
- User's Guide
- Reference
- Acknowledgments
- Appendices
- 47. Boost.Concept_Check
- Concept reference
struct HelloWorld
{
void operator()() const
{
std::cout << "Hello, World!" << std::endl;
}
};