Boost.Intrusive, part of collection of the Boost C++ Libraries, is a library presenting intrusive containers to the world of C++. Intrusive containers are special containers that offer better performance and exception safety guarantees than non-intrusive containers (like STL containers). The performance benefits of intrusive containers makes them ideal as a building block to efficiently construct complex data structures like multi-index containers or to design high performance code like memory allocation algorithms.
While intrusive containers were and are widely used in C, they became more and more forgotten in C++ due to the presence of the standard containers which don't support intrusive techniques.Boost.Intrusive wants to push intrusive containers usage encapsulating the implementation in STL-like interfaces. Hence anyone familiar with standard containers can easily use Boost.Intrusive.
Distributed under the Boost Software License, Version 1.0.
- C++03
- Header-Only
Branch | Travis | Appveyor | Coverity Scan | codecov.io | Deps | Docs | Tests |
---|---|---|---|---|---|---|---|
master |
|||||||
develop |
Name | Purpose |
---|---|
doc |
documentation |
example |
examples |
include |
headers |
proj |
ide projects |
test |
unit tests |
- Ask questions
- Report bugs: Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
- Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
- Discussions about the library are held on the Boost developers mailing list. Be sure to read the discussion policy before posting and add the
[intrusive]
tag at the beginning of the subject line.