当前位置:网站首页>Classify boost libraries by function
Classify boost libraries by function
2022-07-04 14:31:00 【A Sheng 1990】
Boost The library contains 160 More than Libraries / Components , Covering string and text processing 、 Containers 、 iterator 、 Algorithm 、 The image processing 、 Template metaprogramming 、 Concurrent programming and other fields .C++ Support process oriented 、 object-oriented 、 Generic 、 Template element 、 There are five main programming paradigms of functional expression , Research Boost Library source code for learning C++ Very helpful . The following is mainly about Boost Library for classification .
One . String and text processing libraries
(1)Conversion library
Yes C++ Type conversion enhancements , Provide stronger type safe conversion 、 More efficient type safety protection 、 Numerical conversion and lexical conversion for range checking .
(2)Format library
The implementation is similar to printf The formatting object of , You can format parameters into a string , And it's completely type safe .
(3)IOStream library
Expand C++ Standard library stream processing , Build a flow processing framework .
(4)Lexical Cast library
For string 、 Integers 、 Literal conversion of floating point numbers .
(5)Regex library
Regular expressions , Has been TR1 Accepted .
(6)Spirit library
be based on EBNF Paradigmatic LL Parser framework .
(7)String Algo library
A set of string related algorithms .
(8)Tokenizer library
The way to break a string into a set of tokens .
(9)Wave library
Use spirit The development of a library is completely in line with C/C++ Standard preprocessor .
(10)Xpressive library
Regular expression libraries that can be used without compilation .
Two . Container Library
(1)Array library
Yes C Language style array packaging .
(2)Bimap library
Bidirectional mapping structure library .
(3)Circular Buffer library
Realize the data structure of circular buffer .
(4)Disjoint Sets library
Library to implement disjoint sets .
(5)Dynamic Bitset library
A set of bits that support container sizing at run time .
(6)6.GIL library
General image library .
(7)Graph library
A library dealing with graph structures .
(8)ICL library
Interval container Library , Dealing with interval sets and mappings .
(9)Intrusive library
Intrusive containers and algorithms .
(10)Multi-Array library
Multidimensional containers .
(11)Multi-Index library
The implementation has multiple STL Index compatible containers .
(12)Pointer Container library
The container that holds the pointer .
(13)Property Map library
Provide key / Attribute concept definition of value mapping .
(14)Property Tree library
A tree data structure that holds multiple attribute values .
(15)Unordered library
Hash container , amount to hash_xxx.
(16)Variant library
In short , It's holding string,vector And so on .
3、 ... and . Iterator Library
(1)GIL library
General image library .
(2)Graph library
A library dealing with graph structures .
(3)Iterators library
Provides a framework for creating new iterators .
(4)Operators library
Allow users to define only a few operators in their own classes , Other operator overloads can be easily generated automatically , And ensure the correct semantic implementation .
(5)Tokenizer library
The way to break a string into a set of tokens .
Four . Algorithm library
(1)Foreach library
Container traversal algorithm .
(2)GIL library
General image library .
(3)Graph library
A library dealing with graph structures .
(4)Min-Max library
The maximum and minimum values can be obtained simultaneously in the same operation .
(5)Range library
A set of concepts and utilities about scope .
(6)String Algo library
You can handle most string related algorithm operations without using regular expressions .
(7)Utility library
A collection of gadgets .
5、 ... and . Function objects and high-level programming libraries
(1)Bind library
Generalization of binders , Has been received TR1.
(2)Function library
Implement a general callback mechanism , Has been received TR1.
(3)Functional library
An enhanced version of the adapter .
(4)Functional/Factory library
For static and dynamic factory mode .
(5)Functional/Forward library
Used to accept any type of parameter .
(6)Functional/Hash library
Realized TR1 Hash function in .
(7)Lambda library
Lambda expression , The unnamed function .
(8)Member Function library
yes STL in mem_fun and mem_fun_ref An extension of .
(9)Ref library
Wrapping a reference to an object , Has been received TR1.
(10)Result Of library
Used to determine the return type of a call expression , Has been received TR1.
(11)Signals library
Implement thread safe observer mode .
(l2)Signals2 library
be based on Signal Another implementation of .
(13)Utility library
A collection of gadgets .
(14)Phoenix library
Realize in C++ Functional programming in .
6、 ... and . Generic programming libraries
(1)Call Traits library
Encapsulation is probably the best way to pass parameters to a function .
(2)Concept Check library
It's used to check whether a concept is met .
(3)Enable If library
Allows template functions or template classes to be valid only for certain types in partial specialization .
(4)Function Types library
Provides a pair of functions 、 A function pointer 、 Function reference, member pointer and other types are classified, decomposed and synthesized .
(5)GIL library
General image library .
(6)In Place Factory, Typed In Place Factory library
An implementation of the factory model .
(7)Operators library
Allow users to define only a few operators in their own classes , Other operator overloads can be easily generated automatically , And ensure the correct semantic implementation .
(8)Property Map library
Provide attribute concept definition of key value mapping .
(9)Static Assert library
Advance the diagnosis time of assertion from run time to compile time , Let the compiler check for possible errors .
(10)Type Traits library
Determine at compile time if the type has some characteristics .
(11)TTI library
Realize the reflection function of type extraction .
7、 ... and . Template metaprogramming
(1)Fusion library
Offer based on tuple Compile time containers and algorithms for .
(2)MPL library
Template metaprogramming framework .
(3)Proto library
Build domain specific embedded language .
(4)Static Assert library
Advance the diagnosis time of assertion from run time to compile time , Let the compiler check for possible errors .
(5)Type Traits library
Determine at compile time if the type has some characteristics .
8、 ... and . Preprocessing metaprogramming Library
(1)Preprocessors library
Provides preprocessing metaprogramming tools .
Nine . Concurrent programming libraries
(1)Asio library
Based on the asynchronous mechanism provided by the operating system , Adopting proactive design pattern to realize portable asynchronous design IO operation .
(2)Interprocess library
The portable interprocess communication function is realized , Include shared memory 、 Memory mapped files 、 Semaphore 、 File lock 、 Message queuing, etc .
(3)MPI library
For high performance distributed parallel development .
(4)Thread library
by C++ Increase thread processing power , Support Windows and POSIX Threads .
(5)Context library
It provides support for collaborative multitasking on a single thread . The library can be used to implement the mechanism of user level multitasking , For example, Xiecheng coroutines, User level collaboration threads or something like C# In language yield Keyword implementation .
(6)Atomic library
Realization C++11 Styling atomic, Provide support for atomic data types and atomic operations of these atomic types .
(7)Coroutine library
Realize the support of collaborative process . The difference between a coroutine and a thread is , Collaborative process is based on Cooperative multitasking , Multithreading is based on preemptive multitasking .
(8)Lockfree library
Provide support for lockless data structures .
Ten . Math and digital library
(1)Accumulators library
The framework of accumulators for incremental computation .
(2)Integer library
Provides a set of classes for integer processing .
(3)Interval library
Deal with the mathematical problem of interval concept .
(4)Math library
Template classes and algorithms in Mathematics .
(5)Math Common Factor library
Used to support the greatest common divisor and the least common multiple .
(6)Math Octonion library
Used to support octonions .
(7)Math Quaternion library
Used to support quaternions .
(8)Math/Special Functions library
Some commonly used functions in Mathematics .
(9)Math/Statistical Distributions library
For univariate statistical distribution operations .
(10)Multi-Array library
Multidimensional containers .
(11)Numeric Conversion library
A set of functions for secure digital conversion .
(12)Operators library
Allow users to define only a few operators in their own classes , Other operator overloads can be easily generated automatically , And ensure the correct semantic implementation .
(13)Random library
Focus on the implementation of pseudo-random numbers , There are many algorithms that can produce high quality pseudo-random numbers .
(14)Rational library
The rational number without precision loss is realized .
(15)uBLAS library
Math library for Linear Algebra .
(16)Geometry library
Concepts used to solve geometric problems 、 Primitives and algorithms .
(17)Ratio library
according to C++ 0x standard N2661 Proposal No , Implementation of fraction operation in compile time .
(18)Multiprecision library
Provide more than C++ Built in integer 、 Multi precision numerical operation function with higher precision of fractions and floating-point numbers .
(19)Odeint library
For solving initial value problems of ordinary differential equations .
11、 ... and . Debugging and testing Libraries
(1)Concept Check library
It's used to check whether a concept is met .
(2)Static Assert library
Advance the diagnosis time of assertion from run time to compile time , Let the compiler check for possible errors .
(3)Test library
Provides a test suite based on command line interface for unit testing .
Twelve . Data structure library
(1)Any library
Support type safe access to any type of value .
(2)Bimap library
Bidirectional mapping structure library .
(3)Compressed Pair library
Optimized for pair Object storage .
(4)Fusion library
Offer based on tuple Compile time containers and algorithms for .
(5)ICL library
Interval container Library , Dealing with interval sets and mappings .
(6)Multi-Index library
Provide multiple indexes for the underlying container .
(7)Pointer Container library
The container that holds the pointer .
(8)Property Tree library
A tree data structure that holds multiple attribute values .
(9)Tuple library
Tuples , Has been TR1 Accept .
(10)Uuid library
Used to represent and generate UUID.
(11)Variant library
Generic union classes with classes .
(12)Heap library
Yes std::priority_queue Expand , Implement priority queues .
(13)Type Erasure
Implement runtime polymorphism .
13、 ... and . Image processing library
(1)GIL library
General image library .
fourteen . I / O Library
(1)Assign library
Use simple syntax to achieve the goal of STL Container assignment or initialization .
(2)Format library
The implementation is similar to printf The formatting object of , You can format parameters into a string , And it's completely type safe .
(3)IO State Savers library
Used to save the current state of the stream , Automatically restore the state of the stream, etc .
(4)IOStreams library
Expand C++ Standard library stream processing , Build a flow processing framework .
(5)Program Options library
Provide powerful command line parameter processing function .
(6)Serialization library
Realization C++ Persistence of data structures .
15、 ... and . Cross language hybrid programming library
(1)Python library
Used to implement Python and C++ Seamless interface and hybrid programming of objects .
sixteen . Memory management library
(1)Pool library
Based on the idea of simple partition storage, a fast 、 Compact memory pools .
(2)Smart Ptr library
Intelligent pointer .
(3)Utility library
A collection of gadgets .
seventeen . Parsing library
(1)Spirit library
be based on EBNF Paradigmatic LL Parser framework .
eighteen . Programming interface library
(1)Function library
Implement a general callback mechanism , Has been received TR1.
(2)Parameter library
Provides a mechanism for specifying function parameters using parameter names .
nineteen . Comprehensive class library
(1)Compressed Pair library
Optimized for pair Object storage .
(2)CRC library
The function of cyclic redundancy check code is realized .
(3)Date Time library
A very comprehensive and flexible date time library .
(4)Exception library
Strengthen the defect of exception class in standard library , Provide .
(5)Filesystem library
Portable file system operation Library , You can operate directories across platforms 、 file , Has been TR2 Accept .
(6)Flyweight library
Realize the sharing mode , The meta object cannot be modified , You can only assign .
(7)Lexical Cast library
For string 、 Integers 、 Literal conversion of floating point numbers .
(8)Meta State Machine library
Used to represent UML2 Library of finite state machine .
(9)Numeric Conversion library
A set of functions for secure digital conversion .
(10)Optional library
Use container semantics , Wrapping objects that might produce invalid values , Implemented the concept of uninitialization .
(11)Polygon library
Some algorithms for dealing with planar polygons .
(12)Program Options library
Provide powerful command line parameter processing function .
(13)Scope Exit library
Use preprocessor The preprocessing technology of the library realizes the automatic release of resources when leaving the scope .
(14)Statechart library
Provide finite automatic state machine framework .
(15)Swap library
Provides a convenient way to exchange the values of two variables .
(16)System library
Use lightweight objects to encapsulate the underlying error code and error information of the operating system , Has been TR2 Accept .
(17)Timer library
Provide simple measurement time and progress display function , It can be used for performance testing and other tasks requiring timing .
(18)Tribool library
Three state Boolean logic value , stay true and false In addition to the introduction of indeterminate Uncertain state .
(19)Typeof library
simulation C++0x Newly increased typeof and auto keyword , To ease the work of variable type declaration , Simplify the code .
(20)Units library
Realized the dimensional processing of physics .
(21)Utility library
Widget collection .
(22)Value Initialized library
Used to ensure that variables are properly initialized when declared .
(23)Chrono library
Realized C++ 0x In the standard N2661 The time function supported by recommendation No .
(24)Log library
Realize log function .
(25)Predef library
Provide a batch of predefined macros that are uniformly compatible to detect other macros .
twenty . Library of workarounds for compiler problems
(1)Compatibility library
Help with environments that don't meet the requirements of the standard library .
(2)Config library
The compiler configuration of the program is divided into three parts : platform 、 Compilers and standard libraries , Help library developers solve the compatibility problem of specific compiler for specific platform .
The 21st . Commonly used libraries
(1)Regex
Regular expression library .
(2)Spirit
LL parser framework, use C++ Code directly expresses EBNF.
(3)Graph
Graph components and algorithms .
(4)Lambda
Define a short anonymous function object where it is called , It's very practical functional function .
(5)concept check
Check for... In generic programming concept.
(6)Mpl
Meta programming framework implemented with templates .
(7)Thread
portable C++ Multithreaded Library .
(8)Python
hold C++ Classes and functions map to Python In .
(9)Pool
Memory pool management .
(10)smart_ptr
5 A smart pointer , Learning smart pointer must read .
reference :
[1]boost(C++ A general term for libraries ):https://baike.baidu.com/item/boost/69144?fr=aladdin
Artificial intelligence dry goods recommendation Focus on technology sharing in the field of artificial intelligence
Game metauniverse Focus on technology sharing in the game field
This paper is written by mdnice Multi platform Publishing
边栏推荐
- MySQL之详解索引
- 流行框架:Glide的使用
- leetcode:6110. 网格图中递增路径的数目【dfs + cache】
- MATLAB中tiledlayout函数使用
- redis 日常笔记
- 游戏出海,全球化运营
- Explain of SQL optimization
- Oppo find N2 product form first exposure: supplement all short boards
- 商業智能BI財務分析,狹義的財務分析和廣義的財務分析有何不同?
- Remove duplicate letters [greedy + monotonic stack (maintain monotonic sequence with array +len)]
猜你喜欢
开发中常见问题总结
Detailed analysis of pytorch's automatic derivation mechanism, pytorch's core magic
LVGL 8.2 Line
Supprimer les lettres dupliquées [avidité + pile monotone (maintenir la séquence monotone avec un tableau + Len)]
Transplant tinyplay for imx6q development board QT system
No servers available for service: xxxx
docker-compose公网部署redis哨兵模式
MATLAB中tiledlayout函数使用
Innovation and development of independent industrial software
NowCoder 反转链表
随机推荐
迅为IMX6Q开发板QT系统移植tinyplay
第十六章 字符串本地化和消息字典(二)
[information retrieval] link analysis
Solutions to the problems of miui12.5 red rice k20pro using Au or povo2
Ws2818m is packaged in cpc8. It is a special circuit for three channel LED drive control. External IC full-color double signal 5v32 lamp programmable LED lamp with outdoor engineering
R language uses the DOTPLOT function of epidisplay package to visualize the frequency of data points in different intervals in the form of point graph, and uses the by parameter to specify the groupin
【算法leetcode】面试题 04.03. 特定深度节点链表(多语言实现)
Codeforce:c. sum of substrings
ML:SHAP值的简介、原理、使用方法、经典案例之详细攻略
一种架构来完成所有任务—Transformer架构正在以一己之力统一AI江湖
尊重他人的行为
Stm32f1 and stm32subeide programming example -max7219 drives 8-bit 7-segment nixie tube (based on GPIO)
[cloud native] how can I compete with this database?
MATLAB中tiledlayout函数使用
R language uses dplyr package group_ The by function and the summarize function calculate the mean and standard deviation of the target variables based on the grouped variables
Compile oglpg-9th-edition source code with clion
Progress in architecture
【MySQL从入门到精通】【高级篇】(五)MySQL的SQL语句执行流程
卷积神经网络经典论文集合(深度学习分类篇)
MySQL triggers