Boost.org intrusive module
Go to file
Ion Gaztañaga 07ba0e3761 Update changelog for Boost 1.85 2024-03-23 23:05:33 +01:00
.drone add drone config [ci skip] 2021-01-21 19:39:10 +00:00
.github/workflows - Remove clang with listdc++ tests in C++2b mode as there is an incompatibility between them. 2024-01-02 01:38:18 +01:00
doc Update changelog for Boost 1.85 2024-03-23 23:05:33 +01:00
example Use BOOST_INTRUSIVE_STATIC_ASSERT instead of BOOST_STATIC_ASSERT to reduce library level and weight. 2024-01-02 01:42:05 +01:00
include/boost/intrusive Fixes #81 ("unordered_set rehash breaks insert_commit_data") 2024-03-23 18:05:54 +01:00
meta [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-01-19 23:02:17 -05:00
perf Fix compile error 2021-05-18 11:49:09 +08:00
test Fixes #81 ("unordered_set rehash breaks insert_commit_data") 2024-03-23 18:05:54 +01:00
.drone.star add drone config [ci skip] 2021-01-21 19:39:10 +00:00
.gitattributes First inclusion 2007-05-04 21:22:02 +00:00
.gitignore Fix unintended msvc project commit 2024-03-03 22:44:32 +01:00
CMakeLists.txt Boost::static_assert is no longer a dependency 2024-01-02 01:45:01 +01:00
Jamfile Add general Jamfile 2018-06-22 00:01:12 +02:00
README.md Fix title in README 2020-10-20 12:27:54 +02:00
index.html Fixes for 1.41 2009-10-15 18:45:53 +00:00

README.md

Boost.Intrusive

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.

License

Distributed under the Boost Software License, Version 1.0.

Properties

  • C++03
  • Header-Only

Build Status

Branch Travis Appveyor Coverity Scan codecov.io Deps Docs Tests
master Build Status Build status Coverity Scan Build Status codecov Deps Documentation Enter the Matrix
develop Build Status Build status Coverity Scan Build Status codecov Deps Documentation Enter the Matrix

Directories

Name Purpose
doc documentation
example examples
include headers
proj ide projects
test unit tests

More information

  • 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.