Part I. The Boost C++ LibrariesLibraries Listed AlphabeticallyLibraries Listed by CategoryString and text processingContainersIteratorsAlgorithmsFunction objects and higher-order programmingGeneric programmingTemplate metaprogrammingPreprocessor metaprogrammingConcurrent programmingMath and numericsCorrectness and testingData structuresInput/OutputInter-language supportMemoryParsingMiscellaneousBroken compiler workaroundsBoost.AnyIntroductionExamplesReferenceValueType requirementsHeader <boost/any.hpp>Class bad_any_castClass anyFunction any_castAcknowledgementsBoost.ArrayIntroductionReferenceHeader <boost/array.hpp>Class template arrayDesign RationaleFor more information...AcknowledgementsConcept referenceConceptsConcept AssignableConcept InputIteratorConcept OutputIteratorConcept ForwardIteratorConcept BidirectionalIteratorConcept RandomAccessIteratorConcept DefaultConstructibleConcept CopyConstructibleConcept EqualityComparableConcept LessThanComparableConcept SignedIntegerBoost.Date_TimeConceptualMotivationDomain ConceptsDesign ConceptsMore InformationGregorianDate ClassDate Duration (aka Days)Date PeriodDate IteratorsDate Generators/AlgorithmsGregorian CalendarClass day_clockPosix TimePtime ClassTime DurationTime PeriodTime IteratorsLocal Time AdjustmentDetailsCalculationsDesign GoalsTradeoffs: Stability, Predictability, and ApproximationsSerializationTerminologyReferencesBuild-Compiler InformationTestsChange HistoryAcknowledgementsExamplesGeneral Usage ExamplesDates as StringsDays AliveDays Between New YearsEnd of the MonthsLocalization DemonstrationDate Period CalculationsPrint HolidaysPrint MonthMonth AddingTime MathPrint HoursLocal to UTC ConversionTime PeriodsLibrary ReferenceDate Time ReferenceHeader <boost/date_time/adjust_functors.hpp>Class template day_functorClass template month_functorClass template week_functorClass template year_functorHeader <boost/date_time/c_local_time_adjustor.hpp>Class template c_local_adjustorHeader <boost/date_time/c_time.hpp>Header <boost/date_time/compiler_config.hpp>Header <boost/date_time/constrained_value.hpp>Class template constrained_valueClass template simple_exception_policyHeader <boost/date_time/date.hpp>Class template dateHeader <boost/date_time/date_clock_device.hpp>Class template day_clockHeader <boost/date_time/date_defs.hpp>Header <boost/date_time/date_duration.hpp>Class template date_durationStruct duration_traits_longStruct duration_traits_adaptedHeader <boost/date_time/date_duration_types.hpp>Class template weeks_durationClass template months_durationClass template years_durationHeader <boost/date_time/date_format_simple.hpp>Class template simple_formatClass simple_format<wchar_t>Header <boost/date_time/date_formatting.hpp>Class template month_formatterClass template ymd_formatterClass template date_formatterHeader <boost/date_time/date_formatting_limited.hpp>Header <boost/date_time/date_formatting_locales.hpp>Class template ostream_month_formatterClass template ostream_weekday_formatterClass template ostream_ymd_formatterClass template ostream_date_formatterHeader <boost/date_time/date_generators.hpp>Class template year_based_generatorClass template partial_dateClass template nth_kday_of_monthClass template first_kday_of_monthClass template last_kday_of_monthClass template first_kday_afterClass template first_kday_beforeFunction template days_until_weekdayFunction template days_before_weekdayFunction template next_weekdayFunction template previous_weekdayHeader <boost/date_time/date_iterator.hpp>Class template date_itr_baseClass template date_itrHeader <boost/date_time/date_names_put.hpp>Class template date_names_putClass template all_date_names_putHeader <boost/date_time/dst_rules.hpp>Class template dst_calculatorClass template dst_calc_engineClass template us_dst_rulesClass template null_dst_rulesHeader <boost/date_time/dst_transition_generators.hpp>Class template dst_day_calc_ruleClass template day_calc_dst_ruleHeader <boost/date_time/filetime_functions.hpp>Function template time_from_ftimeHeader <boost/date_time/gregorian_calendar.hpp>Class template gregorian_calendar_baseHeader <boost/date_time/int_adapter.hpp>Class template int_adapterFunction template operator<<Header <boost/date_time/iso_format.hpp>Class template iso_format_baseClass iso_format_base<wchar_t>Class template iso_formatClass template iso_extended_formatHeader <boost/date_time/local_time_adjustor.hpp>Class template utc_adjustmentClass template dynamic_local_time_adjustorClass template static_local_time_adjustorClass template local_adjustorHeader <boost/date_time/local_timezone_defs.hpp>Struct template us_dst_traitStruct template eu_dst_traitStruct template uk_dst_traitStruct template acst_dst_traitHeader <boost/date_time/microsec_time_clock.hpp>Class template microsec_clockHeader <boost/date_time/parse_format_base.hpp>Type ymd_order_specHeader <boost/date_time/period.hpp>Class template periodHeader <boost/date_time/special_defs.hpp>Header <boost/date_time/time.hpp>Class template base_timeHeader <boost/date_time/time_clock.hpp>Class template second_clockHeader <boost/date_time/time_defs.hpp>Header <boost/date_time/time_duration.hpp>Class template time_durationClass template subsecond_durationHeader <boost/date_time/time_formatting_streams.hpp>Class template ostream_time_duration_formatterClass template ostream_time_formatterClass template ostream_time_period_formatterHeader <boost/date_time/time_iterator.hpp>Class template time_itrHeader <boost/date_time/time_parsing.hpp>Function template parse_delimited_time_durationHeader <boost/date_time/time_resolution_traits.hpp>Struct time_resolution_traits_bi32_implStruct time_resolution_traits_adapted32_implStruct time_resolution_traits_bi64_implStruct time_resolution_traits_adapted64_implClass template time_resolution_traitsHeader <boost/date_time/time_system_counted.hpp>Struct template counted_time_repClass template counted_time_systemHeader <boost/date_time/time_system_split.hpp>Class template split_timedate_systemHeader <boost/date_time/wrapping_int.hpp>Class template wrapping_intClass template wrapping_int2Header <boost/date_time/year_month_day.hpp>Struct template year_month_day_baseGregorian ReferenceHeader <boost/date_time/gregorian/formatters.hpp>Header <boost/date_time/gregorian/formatters_limited.hpp>Header <boost/date_time/gregorian/greg_calendar.hpp>Class gregorian_calendarHeader <boost/date_time/gregorian/greg_date.hpp>Class dateHeader <boost/date_time/gregorian/greg_day.hpp>Struct bad_day_of_monthClass greg_dayHeader <boost/date_time/gregorian/greg_day_of_year.hpp>Struct bad_day_of_yearHeader <boost/date_time/gregorian/greg_duration.hpp>Header <boost/date_time/gregorian/greg_duration_types.hpp>Struct greg_durations_configHeader <boost/date_time/gregorian/greg_facet.hpp>Struct greg_facet_configFunction template operator<<Function template operator<<Function template operator<<Function template operator<<Header <boost/date_time/gregorian/greg_month.hpp>Struct bad_monthClass greg_monthHeader <boost/date_time/gregorian/greg_weekday.hpp>Struct bad_weekdayClass greg_weekdayHeader <boost/date_time/gregorian/greg_year.hpp>Struct bad_yearClass greg_yearHeader <boost/date_time/gregorian/greg_ymd.hpp>Header <boost/date_time/gregorian/gregorian.hpp>Header <boost/date_time/gregorian/gregorian_types.hpp>Header <boost/date_time/gregorian/parsers.hpp>Posix Time ReferenceHeader <boost/date_time/posix_time/conversion.hpp>Function template from_ftimeHeader <boost/date_time/posix_time/date_duration_operators.hpp>Function operator+Function operator+=Function operator-Function operator-=Function operator+Function operator+=Function operator-Function operator-=Header <boost/date_time/posix_time/posix_time.hpp>Header <boost/date_time/posix_time/posix_time_config.hpp>Class time_durationStruct simple_time_repClass posix_time_system_configClass millisec_posix_time_system_configHeader <boost/date_time/posix_time/posix_time_duration.hpp>Class hoursClass minutesClass secondsHeader <boost/date_time/posix_time/posix_time_system.hpp>Header <boost/date_time/posix_time/posix_time_types.hpp>Header <boost/date_time/posix_time/ptime.hpp>Class ptimeHeader <boost/date_time/posix_time/time_formatters.hpp>Function template operator>>Header <boost/date_time/posix_time/time_formatters_limited.hpp>Header <boost/date_time/posix_time/time_parsers.hpp>Function duration_from_stringHeader <boost/date_time/posix_time/time_period.hpp>Boost.FunctionIntroductionHistory & Compatibility NotesTutorialBasic UsageFree functionsMember functionsReferences to Function ObjectsComparing Boost.Function function objectsReferenceDefinitionsHeader <boost/function.hpp>Class bad_function_callClass function_baseClass template functionNClass template functionHeader <boost/function_equal.hpp>Function template function_equalFrequently Asked QuestionsMiscellaneous NotesBoost.Function vs. Function PointersPerformanceFunction object wrapper sizeCopying efficiencyInvocation efficiencyCombatting virtual function "bloat"AcknowledgementsTestsuiteAcceptance testsNegative testsBoost.LambdaIn a nutshellGetting StartedInstalling the libraryConventions used in this documentIntroductionMotivationIntroduction to lambda expressionsPartial function applicationTerminologyUsing the libraryIntroductory ExamplesParameter and return types of lambda functorsAbout actual arguments to lambda functorsStoring bound arguments in lambda functionsLambda expressions in detailsPlaceholdersOperator expressionsOperators that cannot be overloadedAssignment and subscript operatorsLogical operatorsComma operatorFunction call operatorMember pointer operatorBind expressionsFunction pointers or references as targetsMember functions as targetsMember variables as targetsFunction objects as targetsOverriding the deduced return typeNullary lambda functors and retDelaying constants and variablesLambda expressions for control structuresSwitch statementExceptionsConstruction and destructionSpecial lambda expressionsPreventing argument substitutionUnlambdaProtectRvalues as actual arguments to lambda functorsCasts, sizeof and typeidCast expressionsSizeof and typeidNesting STL algorithm invocationsExtending return type deduction systemPractical considerationsPerformanceAbout compilingPortabilityTest coverageRelation to other Boost librariesBoost FunctionBoost BindFirst argument of bind expressionContributorsAppendix A. Rationale for some of the design decisionsLambda functor arityBibliographyBoost.Program_optionsIntroductionTutorialGetting StartedOption DetailsMultiple SourcesLibrary OverviewOptions Description ComponentSyntactic informationSemantic informationPositional optionsParsers ComponentStorage ComponentAnnotated List of SymbolsHow ToNon-conventional SyntaxResponse FilesWinmain Command LineOption Groups and Hidden OptionsCustom ValidatorsUnicode SupportDesign DiscussionUnicode SupportAcknowledgementsReferenceHeader <boost/program_options/cmdline.hpp>Type style_tHeader <boost/program_options/environment_iterator.hpp>Class environment_iteratorHeader <boost/program_options/eof_iterator.hpp>Class template eof_iteratorHeader <boost/program_options/errors.hpp>Class errorClass invalid_syntaxClass unknown_optionClass ambiguous_optionClass multiple_valuesClass multiple_occurrencesClass validation_errorClass invalid_option_valueClass too_many_positional_options_errorClass too_few_positional_options_errorClass invalid_command_line_syntaxClass invalid_command_line_styleHeader <boost/program_options/option.hpp>Class template basic_optionHeader <boost/program_options/options_description.hpp>Class option_descriptionClass options_description_easy_initClass options_descriptionClass duplicate_option_errorHeader <boost/program_options/parsers.hpp>Class template basic_parsed_optionsClass basic_parsed_options<wchar_t>Class common_command_line_parserClass template basic_command_line_parserFunction template parse_command_lineFunction template parse_config_fileFunction parse_environmentFunction parse_environmentHeader <boost/program_options/positional_options.hpp>Class positional_options_descriptionHeader <boost/program_options/value_semantic.hpp>Class value_semanticClass template value_semantic_codecvt_helperClass value_semantic_codecvt_helper<char>Class value_semantic_codecvt_helper<wchar_t>Class untyped_valueClass template typed_valueFunction valueFunction wvalueFunction bool_switchHeader <boost/program_options/variables_map.hpp>Class variable_valueClass abstract_variables_mapClass variables_mapFunction storeFunction storeFunction notifyHeader <boost/program_options/version.hpp>Macro BOOST_PROGRAM_OPTIONS_VERSIONBoost.RefIntroductionReferenceHeader <boost/ref.hpp>Class template reference_wrapperClass template is_reference_wrapperClass template unwrap_referenceAcknowledgementsBoost.SignalsIntroductionTutorialHow to Read this TutorialCompatibility NoteHello, World! (Beginner)Calling multiple slotsConnecting multiple slots (Beginner)Ordering slot call groups (Intermediate)Passing values to and from slotsSlot Arguments (Beginner)Signal Return Values (Advanced)Connection ManagementDisconnecting Slots (Beginner)Scoped connections (Intermediate)Disconnecting equivalent slots (Intermediate)Automatic connection management (Intermediate)When can disconnections occur? (Intermediate)Passing slots (Intermediate)Linking against the Signals libraryReferenceHeader <boost/signal.hpp>Class template signalNClass template signalHeader <boost/signals/slot.hpp>Class template slotHeader <boost/signals/trackable.hpp>Class trackableHeader <boost/signals/connection.hpp>Class connectionClass scoped_connectionHeader <boost/visit_each.hpp>Function template visit_eachHeader <boost/last_value.hpp>Class template last_valueClass last_value<void>Frequently Asked QuestionsDesign OverviewType Erasureconnection classSlot Call Iteratorvisit_each function templateDesign RationaleChoice of Slot DefinitionsUser-level Connection ManagementCombiner InterfaceConnection Interfaces: += operatortrackable rationaletrackable copying behaviorWhy derivation from trackable?Comparison with other Signal/Slot implementationslibsigc++.NET delegatesTestsuiteAcceptance testsBoost String Algorithms LibraryIntroductionUsageFirst ExampleCase conversionPredicates and ClassificationTrimmingFind algorithmsReplace AlgorithmsFind IteratorSplitQuick ReferenceAlgorithmsFinders and FormattersIteratorsClassificationDesign TopicsString Representationiterator_range classCollection TraitsSequence TraitsFind AlgorithmsReplace AlgorithmsFind Iterators & Split AlgorithmsException SafetyConceptsDefinitionsFinder ConceptFormatter conceptReferenceHeader <boost/algorithm/string/case_conv.hpp>Function to_lower_copyFunction template to_lowerFunction to_upper_copyFunction template to_upperHeader <boost/algorithm/string/classification.hpp>Function is_classifiedFunction is_spaceFunction is_alnumFunction is_alphaFunction is_cntrlFunction is_digitFunction is_graphFunction is_lowerFunction is_printFunction is_punctFunction is_upperFunction is_xdigitFunction template is_any_ofFunction template is_from_rangeFunction template operator&&Function template operator||Function template operator!Header <boost/algorithm/string/collection_traits.hpp>Struct template collection_traitsStruct template value_type_ofStruct template difference_type_ofStruct template iterator_ofStruct template const_iterator_ofStruct template result_iterator_ofFunction template sizeFunction template emptyFunction beginFunction endHeader <boost/algorithm/string/compare.hpp>Struct is_equalStruct is_iequalHeader <boost/algorithm/string/concept.hpp>Struct template FinderConceptStruct template FormatterConceptHeader <boost/algorithm/string/constants.hpp>Type token_compress_mode_typeHeader <boost/algorithm/string/erase.hpp>Function erase_range_copyFunction template erase_rangeFunction erase_first_copyFunction template erase_firstFunction ierase_first_copyFunction template ierase_firstFunction erase_last_copyFunction template erase_lastFunction ierase_last_copyFunction template ierase_lastFunction erase_nth_copyFunction template erase_nthFunction ierase_nth_copyFunction template ierase_nthFunction erase_all_copyFunction template erase_allFunction ierase_all_copyFunction template ierase_allFunction erase_head_copyFunction template erase_headFunction erase_tail_copyFunction template erase_tailHeader <boost/algorithm/string/find.hpp>Function template findFunction template find_firstFunction template ifind_firstFunction template find_lastFunction template ifind_lastFunction template find_nthFunction template ifind_nthFunction template find_headFunction template find_tailFunction template find_tokenHeader <boost/algorithm/string/find_format.hpp>Function find_format_copyFunction template find_formatFunction find_format_all_copyFunction template find_format_allFunction template regex_finderFunction template regex_formatterHeader <boost/algorithm/string/find_iterator.hpp>Class template find_iteratorClass template split_iteratorFunction template make_find_iteratorFunction template make_split_iteratorHeader <boost/algorithm/string/finder.hpp>Function first_finderFunction last_finderFunction nth_finderFunction head_finderFunction tail_finderFunction template token_finderFunction range_finderHeader <boost/algorithm/string/formatter.hpp>Function template const_formatterFunction template identity_formatterFunction template empty_formatterHeader <boost/algorithm/string/iterator_range.hpp>Class template iterator_rangeFunction template operator<<Function template make_iterator_rangeFunction template make_iterator_rangeFunction template copy_iterator_rangeFunction template transform_iterator_rangeHeader <boost/algorithm/string/predicate.hpp>Function starts_withFunction template istarts_withFunction ends_withFunction template iends_withFunction containsFunction template icontainsFunction equalsFunction template iequalsFunction template allHeader <boost/algorithm/string/regex.hpp>Function template find_regexFunction replace_regex_copyFunction template replace_regexFunction replace_all_regex_copyFunction template replace_all_regexFunction erase_regex_copyFunction template erase_regexFunction erase_all_regex_copyFunction template erase_all_regexFunction template find_all_regexFunction template split_regexHeader <boost/algorithm/string/regex_find_format.hpp>Function template regex_finderFunction template regex_formatterHeader <boost/algorithm/string/replace.hpp>Function replace_range_copyFunction template replace_rangeFunction replace_first_copyFunction template replace_firstFunction ireplace_first_copyFunction template ireplace_firstFunction replace_last_copyFunction template replace_lastFunction ireplace_last_copyFunction template ireplace_lastFunction replace_nth_copyFunction template replace_nthFunction ireplace_nth_copyFunction template ireplace_nthFunction replace_all_copyFunction template replace_allFunction ireplace_all_copyFunction template ireplace_allFunction replace_head_copyFunction template replace_headFunction replace_tail_copyFunction template replace_tailHeader <boost/algorithm/string/sequence_traits.hpp>Class template has_native_replaceClass template has_stable_iteratorsClass template has_const_time_insertClass template has_const_time_eraseHeader <boost/algorithm/string/split.hpp>Function template find_allFunction template ifind_allFunction template splitHeader <boost/algorithm/string/std_containers_traits.hpp>Header <boost/algorithm/string.hpp>Header <boost/algorithm/string_regex.hpp>Header <boost/algorithm/string/trim.hpp>Function trim_left_copy_ifFunction template trim_left_copyFunction template trim_left_ifFunction template trim_leftFunction trim_right_copy_ifFunction template trim_right_copyFunction template trim_right_ifFunction template trim_rightFunction trim_copy_ifFunction template trim_copyFunction template trim_ifFunction template trimRationaleLocalesRegular ExpressionsEnvironmentBuildExamplesTestsPortabilityCreditsAcknowledgmentsBoost.ThreadsOverviewIntroductionDangersGeneral considerationsTesting and debugging considerationsGetting a head startC++ Standard Library usage in multithreaded programsRuntime librariesPotentially non-thread-safe functionsCommon guarantees for all Boost.Threads componentsExceptionsNonCopyable requirementDesignGoalsIterative PhasesPhase 1, Synchronization PrimitivesPhase 2, Thread Management and Thread Specific StorageThe Next PhaseConceptsMutexesLocking StrategiesRecursive Locking StrategyChecked Locking StrategyUnchecked Locking StrategyUnspecified Locking StrategyScheduling PoliciesFIFO Scheduling PolicyPriority Driven PolicyUnspecified PolicyMutex ConceptsMutex ConceptTryMutex ConceptTimedMutex ConceptMutex ModelsLock ConceptsLock ConceptScopedLock ConceptTryLock ConceptScopedTryLock ConceptTimedLock ConceptScopedTimedLock ConceptLock ModelsRead/Write MutexesLocking StrategiesRecursive Locking StrategyChecked Locking StrategyUnchecked Locking StrategyUnspecified Locking StrategyThread IdentificationLock PromotionLock DemotionScheduling PoliciesInter-Class Scheduling PoliciesReaderPriorityWriterPriorityAlternatingPriority/ManyReadsAlternatingPriority/SingleReadIntra-Class Scheduling PoliciesMutex ConceptsReadWriteMutex ConceptTryReadWriteMutex ConceptTimedReadWriteMutex ConceptMutex ModelsLock ConceptsReadWriteLock ConceptScopedReadWriteLock ConceptTryReadWriteLock ExpressionsScopedTryReadWriteLock ExpressionsTimedReadWriteLock ConceptScopedTimedReadWriteLock ConceptLock ModelsRationaleRationale for the Creation of Boost.ThreadsRationale for the Low Level Primitives Supported in Boost.ThreadsRationale for the Lock DesignRationale for NonCopyable Thread Type1. Use case: Simple creation of a thread.2. Use case: Creation of a thread that's later joined.3. Use case: Simple creation of several threads in a loop.4. Use case: Creation of several threads in a loop which are later joined.5. Use case: Creation of a thread whose ownership is passed to another object/method.6. Use case: Creation of a thread whose ownership is shared between multiple objects.1. Comparison: simple creation of a thread.2. Comparison: creation of a thread that's later joined.3. Comparison: simple creation of several threads in a loop.4. Comparison: creation of several threads in a loop which are later joined.5. Comparison: creation of a thread whose ownership is passed to another object/method.6. Comparison: creation of a thread whose ownership is shared between multiple objects.Rationale for not providing Event VariablesReferenceHeader <boost/thread/barrier.hpp>Class barrierHeader <boost/thread/condition.hpp>Class conditionHeader <boost/thread/exceptions.hpp>Class lock_errorClass thread_resource_errorHeader <boost/thread/mutex.hpp>Class mutexClass try_mutexClass timed_mutexHeader <boost/thread/once.hpp>Macro BOOST_ONCE_INITFunction call_onceHeader <boost/thread/recursive_mutex.hpp>Class recursive_mutexClass recursive_try_mutexClass recursive_timed_mutexHeader <boost/thread/read_write_mutex.hpp>Type read_write_scheduling_policyClass read_write_mutexClass try_read_write_mutexClass timed_read_write_mutexHeader <boost/thread/thread.hpp>Class threadClass thread_groupHeader <boost/thread/tss.hpp>Class thread_specific_ptrHeader <boost/thread/xtime.hpp>Type xtime_clock_typesStruct xtimeFrequently Asked QuestionsConfigurationLibrary Defined Public MacrosLibrary Defined Implementation MacrosBuildBuilding the Boost.Threads LibrariesTesting the Boost.Threads LibrariesImplementation NotesWin32Release NotesBoost 1.32.0Documentation converted to BoostBookStatically-link build option addedBarrier functionality addedRead/write mutex functionality addedThread-specific pointer functionality changedMutex implementation changed for Win32Windows CE support improvedGlossaryAcknowledgementsAcknowledgementsBibliographyBoost.TriboolIntroductionTutorialBasic usageRenaming the indeterminate statetribool input/outputReferenceHeader <boost/logic/tribool.hpp>Class triboolFunction indeterminateFunction operator!Function operator&&Function operator||Function operator==Function operator!=Macro BOOST_TRIBOOL_THIRD_STATEHeader <boost/logic/tribool_fwd.hpp>Header <boost/logic/tribool_io.hpp>Class template indeterminate_nameFunction template get_default_indeterminate_nameFunction template operator<<Function template operator>>TestsuiteAcceptance testsBoost.VariantIntroductionAbstractMotivationProblemSolution: A Motivating ExampleTutorialBasic UsageAdvanced TopicsPreprocessor macrosUsing a type sequence to specify bounded typesRecursive variant typesRecursive types with recursive_wrapperRecursive types with make_recursive_variantBinary visitationReferenceConceptsBoundedTypeStaticVisitorExamplesOutputStreamableHeader <boost/variant.hpp>Header <boost/variant/variant_fwd.hpp>Macro BOOST_VARIANT_LIMIT_TYPESMacro BOOST_VARIANT_ENUM_PARAMSMacro BOOST_VARIANT_ENUM_SHIFTED_PARAMSMacro BOOST_VARIANT_NO_REFERENCE_SUPPORTMacro BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORTMacro BOOST_VARIANT_NO_FULL_RECURSIVE_VARIANT_SUPPORTHeader <boost/variant/variant.hpp>Class template variantFunction template swapFunction template operator<<Class template make_variant_overHeader <boost/variant/recursive_variant.hpp>Class template make_recursive_variantClass template make_recursive_variant_overHeader <boost/variant/recursive_wrapper.hpp>Class template recursive_wrapperClass template is_recursive_wrapperClass template unwrap_recursive_wrapperHeader <boost/variant/apply_visitor.hpp>Class template apply_visitor_delayed_tFunction apply_visitorHeader <boost/variant/get.hpp>Class bad_getFunction getHeader <boost/variant/bad_visit.hpp>Class bad_visitHeader <boost/variant/static_visitor.hpp>Class template static_visitorHeader <boost/variant/visitor_ptr.hpp>Class template visitor_ptr_tFunction template visitor_ptrDesign Overview"Never-Empty" GuaranteeThe GuaranteeThe Implementation ProblemThe "Ideal" Solution: False HopesAn Initial Solution: Double StorageCurrent Approach: Temporary Heap BackupEnabling OptimizationsFuture Direction: Policy-based ImplementationMiscellaneous NotesBoost.Variant vs. Boost.AnyPortabilityTroubleshooting"Template instantiation depth exceeds maximum"GNU GCC"Internal heap limit reached"Microsoft Visual C++AcknowledgmentsReferencesPart II. The BoostBook Documentation FormatIntroductionGetting StartedConfiguring local DocBook XSL and DTD distributionsConfiguring Apache FOP for PostScript/PDF OutputConfiguring Doxygen for Documentation ExtractionTroubleshootingDocumenting librariesDefining a BoostBook libraryFrom HTML to BoostBookSectioning in BoostBookBringing Together a BoostBook DocumentLinking in BoostBookReferenceBoostBook element class-specializationBoostBook element link-testBoostBook element link-fail-testBoostBook element typedefBoostBook element static-constantBoostBook element codeBoostBook element destructorBoostBook element template-type-parameterBoostBook element descriptionBoostBook element librarylistBoostBook element library-referenceBoostBook element boostbookBoostBook element unionBoostBook element inheritBoostBook element template-varargsBoostBook element sourceBoostBook element functionBoostBook element postconditionsBoostBook element compile-testBoostBook element methodBoostBook element snippetBoostBook element constructorBoostBook element namespaceBoostBook element if-failsBoostBook element free-function-groupBoostBook element functionnameBoostBook element librarycategoryBoostBook element notesBoostBook element data-memberBoostBook element specializationBoostBook element union-specializationBoostBook element throwsBoostBook element template-argBoostBook element method-groupBoostBook element requirementBoostBook element preconditionBoostBook element paramtypeBoostBook element using-classBoostBook element run-testBoostBook element librarypurposeBoostBook element copy-assignmentBoostBook element run-fail-testBoostBook element templateBoostBook element compile-fail-testBoostBook element returnsBoostBook element defaultBoostBook element parameterBoostBook element signatureBoostBook element overloaded-functionBoostBook element classBoostBook element librarycategorydefBoostBook element typeBoostBook element enumvalueBoostBook element overloaded-methodBoostBook element programlistingBoostBook element complexityBoostBook element purposeBoostBook element template-nontype-parameterBoostBook element libraryBoostBook element librarycategorylistBoostBook element using-namespaceBoostBook element struct-specializationBoostBook element structBoostBook element libBoostBook element enumBoostBook element requiresBoostBook element effectsBoostBook element librarynameBoostBook element libraryinfoBoostBook element testsuiteBoostBook element headerBoostBook element rationalePart III. Boost.Build v2 User ManualHow to use this documentInstallationTutorialHello, worldPropertiesBuild Requests and Target RequirementsProject AttributesProject HierarchiesLibraries and Dependent TargetsLibrary dependenciesStatic and shared libariesConditions and alternativesPrebuilt targetsUser documentationConfigurationWriting JamfilesOverviewMain targetsProjectsAdditional Jamfile rulesProject rootBuild processBuild requestBuilding a main targetBuilding a projectBuiltin target typesProgramsLibrariesAliasInstallingTestingBuiltin featuresDifferences to Boost.Build V1ConfigurationWriting JamfilesBuild processExtender ManualIntroductionTarget typesScannersTools and generatorsFeaturesMain target rulesToolset modulesDetailed referenceGeneral informationInitializationCommand lineCommand line argumentsCommand line optionsWriting JamfilesGenerated headersBuild processAlternative selectionDetermining common propertiesFeatures and propertiesProperty ValidityFeature AttributesFeature DeclarationBuild VariantsProperty refinementConditional propertiesTarget identifiers and referencesGeneratorsSelecting and ranking viable generatorsRunning generatorsSelecting dependency graphProperty adjustmentTransformations cacheFrequently Asked QuestionsI'm getting "Duplicate name of actual target" error. What does it mean?Accessing environment variablesHow to control properties order?How to control the library order on Unix?Can I get output of external program as a variable in a Jamfile?How to get the project-root location?How to change compilation flags for one file?Why are the dll-path and hardcode-dll-paths properties useful?Targets in site-config.jamAppendix B. Boost.Build v2 architectureOverviewThe build layerThe tools layerTargetsDependency scanningSupport for different scanning algorithmsAbility to scan the same file several timesProper detection of dependencies on generated files.Proper detection of dependencies from generated filesFile targetsTypesTarget pathsThe Boost C++ LibrariesThe Boost C++ LibrariesThe Boost C++ LibrariesThe Boost C++ LibrariesTable of ContentsI. The Boost C++ Libraries Boost.Any Introduction Examples Reference ValueType requirements Header <boost/any.hpp> Acknowledgements Boost.Array Introduction Reference Header <boost/array.hpp> Design Rationale For more information... Acknowledgements Boost.Date_Time Conceptual Motivation Domain Concepts Design Concepts More Information Gregorian Date Class Date Duration (aka Days) Date Period Date Iterators Date Generators/Algorithms Gregorian Calendar Class day_clock Posix Time Ptime Class Time Duration Time Period Time Iterators Local Time Adjustment Details Calculations Design Goals Tradeoffs: Stability, Predictability, and Approximations Serialization Terminology References Build-Compiler Information Tests Change History Acknowledgements Examples General Usage Examples Dates as Strings Days Alive Days Between New Years End of the Months Localization Demonstration Date Period Calculations Print Holidays Print Month Month Adding Time Math Print Hours Local to UTC Conversion Time Periods Library Reference Date Time Reference Gregorian Reference Posix Time Reference Boost.Function Introduction History & Compatibility Notes Tutorial Basic Usage Free functions Member functions References to Function Objects Comparing Boost.Function function objects Reference Definitions Header <boost/function.hpp> Header <boost/function_equal.hpp> Frequently Asked Questions Miscellaneous Notes Boost.Function vs. Function Pointers Performance Combatting virtual function "bloat" Acknowledgements Testsuite Acceptance tests Negative tests Boost.Lambda In a nutshell Getting Started Installing the library Conventions used in this document Introduction Motivation Introduction to lambda expressions Using the library Introductory Examples Parameter and return types of lambda functors About actual arguments to lambda functors Storing bound arguments in lambda functions Lambda expressions in details Placeholders Operator expressions Bind expressions Overriding the deduced return type Delaying constants and variables Lambda expressions for control structures Exceptions Construction and destruction Special lambda expressions Casts, sizeof and typeid Nesting STL algorithm invocations Extending return type deduction system Practical considerations Performance About compiling Portability Relation to other Boost libraries Boost Function Boost Bind Contributors Boost.Program_options Introduction Tutorial Getting Started Option Details Multiple Sources Library Overview Options Description Component Parsers Component Storage Component Annotated List of Symbols How To Non-conventional Syntax Response Files Winmain Command Line Option Groups and Hidden Options Custom Validators Unicode Support Design Discussion Unicode Support Acknowledgements Reference Header <boost/program_options/cmdline.hpp> Header <boost/program_options/environment_iterator.hpp> Header <boost/program_options/eof_iterator.hpp> Header <boost/program_options/errors.hpp> Header <boost/program_options/option.hpp> Header <boost/program_options/options_description.hpp> Header <boost/program_options/parsers.hpp> Header <boost/program_options/positional_options.hpp> Header <boost/program_options/value_semantic.hpp> Header <boost/program_options/variables_map.hpp> Header <boost/program_options/version.hpp> Boost.Ref Introduction Reference Header <boost/ref.hpp> Acknowledgements Boost.Signals Introduction Tutorial How to Read this Tutorial Compatibility Note Hello, World! (Beginner) Calling multiple slots Passing values to and from slots Connection Management Linking against the Signals library Reference Header <boost/signal.hpp> Header <boost/signals/slot.hpp> Header <boost/signals/trackable.hpp> Header <boost/signals/connection.hpp> Header <boost/visit_each.hpp> Header <boost/last_value.hpp> Frequently Asked Questions Design Overview Type Erasure connection class Slot Call Iterator visit_each function template Design Rationale Choice of Slot Definitions User-level Connection Management Combiner Interface Connection Interfaces: += operator trackable rationale Comparison with other Signal/Slot implementations Testsuite Acceptance tests Boost String Algorithms Library Introduction Usage First Example Case conversion Predicates and Classification Trimming Find algorithms Replace Algorithms Find Iterator Split Quick Reference Algorithms Finders and Formatters Iterators Classification Design Topics String Representation iterator_range class Collection Traits Sequence Traits Find Algorithms Replace Algorithms Find Iterators & Split Algorithms Exception Safety Concepts Definitions Finder Concept Formatter concept Reference Header <boost/algorithm/string/case_conv.hpp> Header <boost/algorithm/string/classification.hpp> Header <boost/algorithm/string/collection_traits.hpp> Header <boost/algorithm/string/compare.hpp> Header <boost/algorithm/string/concept.hpp> Header <boost/algorithm/string/constants.hpp> Header <boost/algorithm/string/erase.hpp> Header <boost/algorithm/string/find.hpp> Header <boost/algorithm/string/find_format.hpp> Header <boost/algorithm/string/find_iterator.hpp> Header <boost/algorithm/string/finder.hpp> Header <boost/algorithm/string/formatter.hpp> Header <boost/algorithm/string/iterator_range.hpp> Header <boost/algorithm/string/predicate.hpp> Header <boost/algorithm/string/regex.hpp> Header <boost/algorithm/string/regex_find_format.hpp> Header <boost/algorithm/string/replace.hpp> Header <boost/algorithm/string/sequence_traits.hpp> Header <boost/algorithm/string/split.hpp> Header <boost/algorithm/string/std_containers_traits.hpp> Header <boost/algorithm/string.hpp> Header <boost/algorithm/string_regex.hpp> Header <boost/algorithm/string/trim.hpp> Rationale Locales Regular Expressions Environment Build Examples Tests Portability Credits Acknowledgments Boost.Threads Overview Introduction Dangers C++ Standard Library usage in multithreaded programs Common guarantees for all Boost.Threads components Design Goals Iterative Phases Phase 1, Synchronization Primitives Phase 2, Thread Management and Thread Specific Storage The Next Phase Concepts Mutexes Read/Write Mutexes Rationale Rationale for the Creation of Boost.Threads Rationale for the Low Level Primitives Supported in Boost.Threads Rationale for the Lock Design Rationale for NonCopyable Thread Type Rationale for not providing Event Variables Reference Header <boost/thread/barrier.hpp> Header <boost/thread/condition.hpp> Header <boost/thread/exceptions.hpp> Header <boost/thread/mutex.hpp> Header <boost/thread/once.hpp> Header <boost/thread/recursive_mutex.hpp> Header <boost/thread/read_write_mutex.hpp> Header <boost/thread/thread.hpp> Header <boost/thread/tss.hpp> Header <boost/thread/xtime.hpp> Frequently Asked Questions Configuration Library Defined Public Macros Library Defined Implementation Macros Build Building the Boost.Threads Libraries Testing the Boost.Threads Libraries Implementation Notes Win32 Release Notes Boost 1.32.0 Acknowledgements Boost.Tribool Introduction Tutorial Basic usage Renaming the indeterminate state tribool input/output Reference Header <boost/logic/tribool.hpp> Header <boost/logic/tribool_fwd.hpp> Header <boost/logic/tribool_io.hpp> Testsuite Acceptance tests Boost.Variant Introduction Abstract Motivation Tutorial Basic Usage Advanced Topics Reference Concepts Header <boost/variant.hpp> Header <boost/variant/variant_fwd.hpp> Header <boost/variant/variant.hpp> Header <boost/variant/recursive_variant.hpp> Header <boost/variant/recursive_wrapper.hpp> Header <boost/variant/apply_visitor.hpp> Header <boost/variant/get.hpp> Header <boost/variant/bad_visit.hpp> Header <boost/variant/static_visitor.hpp> Header <boost/variant/visitor_ptr.hpp> Design Overview "Never-Empty" Guarantee Miscellaneous Notes Boost.Variant vs. Boost.Any Portability Troubleshooting Acknowledgments References II. The BoostBook Documentation Format Introduction Getting Started Configuring local DocBook XSL and DTD distributions Configuring Apache FOP for PostScript/PDF Output Configuring Doxygen for Documentation Extraction Troubleshooting Documenting libraries Defining a BoostBook library From HTML to BoostBook Sectioning in BoostBook Bringing Together a BoostBook Document Linking in BoostBook Reference BoostBook element class-specialization BoostBook element link-test BoostBook element link-fail-test BoostBook element typedef BoostBook element static-constant BoostBook element code BoostBook element destructor BoostBook element template-type-parameter BoostBook element description BoostBook element librarylist BoostBook element library-reference BoostBook element boostbook BoostBook element union BoostBook element inherit BoostBook element template-varargs BoostBook element source BoostBook element function BoostBook element postconditions BoostBook element compile-test BoostBook element method BoostBook element snippet BoostBook element constructor BoostBook element namespace BoostBook element if-fails BoostBook element free-function-group BoostBook element functionname BoostBook element librarycategory BoostBook element notes BoostBook element data-member BoostBook element specialization BoostBook element union-specialization BoostBook element throws BoostBook element template-arg BoostBook element method-group BoostBook element requirement BoostBook element precondition BoostBook element paramtype BoostBook element using-class BoostBook element run-test BoostBook element librarypurpose BoostBook element copy-assignment BoostBook element run-fail-test BoostBook element template BoostBook element compile-fail-test BoostBook element returns BoostBook element default BoostBook element parameter BoostBook element signature BoostBook element overloaded-function BoostBook element class BoostBook element librarycategorydef BoostBook element type BoostBook element enumvalue BoostBook element overloaded-method BoostBook element programlisting BoostBook element complexity BoostBook element purpose BoostBook element template-nontype-parameter BoostBook element library BoostBook element librarycategorylist BoostBook element using-namespace BoostBook element struct-specialization BoostBook element struct BoostBook element lib BoostBook element enum BoostBook element requires BoostBook element effects BoostBook element libraryname BoostBook element libraryinfo BoostBook element testsuite BoostBook element header BoostBook element rationale III. Boost.Build v2 User Manual How to use this document Installation Tutorial Hello, world Properties Build Requests and Target Requirements Project Attributes Project Hierarchies Libraries and Dependent Targets Library dependencies Static and shared libaries Conditions and alternatives Prebuilt targets User documentation Configuration Writing Jamfiles Overview Main targets Projects Additional Jamfile rules Project root Build process Build request Building a main target Building a project Builtin target types Programs Libraries Alias Installing Testing Builtin features Differences to Boost.Build V1 Configuration Writing Jamfiles Build process Extender Manual Introduction Target types Scanners Tools and generators Features Main target rules Toolset modules Detailed reference General information Initialization Command line Writing Jamfiles Generated headers Build process Alternative selection Determining common properties Features and properties Build Variants Property refinement Conditional properties Target identifiers and references Generators Selecting and ranking viable generators Running generators Selecting dependency graph Property adjustment Transformations cache Frequently Asked Questions I'm getting "Duplicate name of actual target" error. What does it mean? Accessing environment variables How to control properties order? How to control the library order on Unix? Can I get output of external program as a variable in a Jamfile? How to get the project-root location? How to change compilation flags for one file? Why are the dll-path and hardcode-dll-paths properties useful? Targets in site-config.jam B. Boost.Build v2 architecture Overview The build layer The tools layer Targets Dependency scanning The Boost C++ LibrariesThe Boost C++ LibrariesList of Tables1. Construction and destruction related function objects. 2. Action types 3. Test 1CPU time of expressions with integer multiplication written as a lambda expression and as a traditional hand-coded function object class. The running times are expressed in arbitrary units. 4. Test 2CPU time of arithmetic expressions written as lambda expressions, as classic STL unnamed functions (using compose2, bind1st etc.) and as traditional hand-coded function object classes. Using BLL terminology, a and b are bound arguments in the expressions, and x is open. All variables were of types double. The running times are expressed in arbitrary units. 1. Case Conversion 2. Trimming