Lines Matching refs:interprocess

12     [id interprocess]
13 [dirname interprocess]
24 [*Boost.Interprocess] simplifies the use of common interprocess communication
37 [*Boost.Interprocess] also offers higher-level interprocess mechanisms to allocate
140 [classref boost::interprocess::managed_shared_memory] and it's easy to use.
164 [link interprocess.allocators_containers.containers_explained.containers_of_containers Containers o…
205 One of the biggest issues with interprocess communication mechanisms is the lifetime
206 of the interprocess communication mechanism.
207 It's important to know when an interprocess communication mechanism disappears from the
238 persistence. This is because POSIX allows this possibility to native interprocess
250 Some interprocess mechanisms are anonymous objects created in shared memory or
251 memory-mapped files but other interprocess mechanisms need a name or identifier
252 so that two unrelated processes can use the same interprocess mechanism object.
256 The name used to identify an interprocess mechanism is not portable, even between
321 [classref boost::interprocess::permissions permissions object] that can be
345 Shared memory is the fastest interprocess communication mechanism.
404 #include <boost/interprocess/shared_memory_object.hpp>
419 using boost::interprocess;
430 using boost::interprocess;
441 using boost::interprocess;
463 using boost::interprocess;
468 [classref boost::interprocess::shared_memory_object] class reference.
484 using boost::interprocess;
508 [classref boost::interprocess::mapped_region] class reference.
532 …defined by POSIX (see [link interprocess.sharedmemorybetweenprocesses.sharedmemory.windows_shared_…
553 [classref boost::interprocess::shared_memory_object shared_memory_object]
571 [classref boost::interprocess::shared_memory_object] instance to behave as if no
621 [classref boost::interprocess::windows_shared_memory windows_shared_memory] class.
670 [*Boost.Interprocess] offers simple ([classref boost::interprocess::xsi_shared_memory xsi_shared_me…
671 and managed ([classref boost::interprocess::managed_xsi_shared_memory managed_xsi_shared_memory])
673 simple [classref boost::interprocess::xsi_key xsi_key] class.
712 File mapping is not only used for interprocess communication, it can be used also to
718 seen by another process, so memory mapped files can be used as an interprocess
719 communication mechanism. We can say that memory-mapped files offer the same interprocess
754 #include <boost/interprocess/file_mapping.hpp>
766 using boost::interprocess;
774 [classref boost::interprocess::file_mapping] class reference.
788 using boost::interprocess;
836 [classref boost::interprocess::mapped_region] class reference.
891 offers a smart pointer called [classref boost::interprocess::offset_ptr] that
1117 #include<boost/interprocess/shared_memory_object.hpp>
1121 using boost::interprocess;
1151 [classref boost::interprocess::offset_ptr offset_ptr].
1153 [classref boost::interprocess::offset_ptr offset_ptr]
1204 [classref boost::interprocess::offset_ptr offset_ptr] defines offset 1
1210 using namespace boost::interprocess;
1231 [classref boost::interprocess::offset_ptr offset_ptr]
1236 [classref boost::interprocess::offset_ptr offset_ptr reference].
1291 using namespace boost::interprocess;
1311 using namespace boost::interprocess;
1413 #include <boost/interprocess/sync/interprocess_mutex.hpp>
1415 * [classref boost::interprocess::interprocess_mutex interprocess_mutex]: A non-recursive,
1420 #include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
1422 * [classref boost::interprocess::interprocess_recursive_mutex interprocess_recursive_mutex]: A recu…
1427 #include <boost/interprocess/sync/named_mutex.hpp>
1429 * [classref boost::interprocess::named_mutex named_mutex]: A non-recursive,
1434 #include <boost/interprocess/sync/named_recursive_mutex.hpp>
1436 * [classref boost::interprocess::named_recursive_mutex named_recursive_mutex]: A recursive,
1450 #include <boost/interprocess/sync/scoped_lock.hpp>
1459 using namespace boost::interprocess;
1500 [classref boost::interprocess::scoped_lock scoped_lock's reference].
1583 #include <boost/interprocess/sync/interprocess_condition.hpp>
1585 * [classref boost::interprocess::interprocess_condition interprocess_condition]:
1587 mapped files to be used with [classref boost::interprocess::interprocess_mutex].
1591 #include <boost/interprocess/sync/interprocess_condition_any.hpp>
1593 * [classref boost::interprocess::interprocess_condition_any interprocess_condition_any]:
1599 #include <boost/interprocess/sync/named_condition.hpp>
1601 * [classref boost::interprocess::named_condition named_condition]: A named
1602 condition variable to be used with [classref boost::interprocess::named_mutex named_mutex].
1606 #include <boost/interprocess/sync/named_condition_any.hpp>
1608 * [classref boost::interprocess::named_condition named_condition]: A named
1615 * We want to change the synchronization method (from interprocess
1689 #include <boost/interprocess/sync/interprocess_semaphore.hpp>
1691 * [classref boost::interprocess::interprocess_semaphore interprocess_semaphore]:
1697 #include <boost/interprocess/sync/named_semaphore.hpp>
1699 * [classref boost::interprocess::named_semaphore named_semaphore]: A named
1731 The same interprocess communication can be achieved with a condition variables
2071 #include <boost/interprocess/sync/interprocess_sharable_mutex.hpp>
2073 * [classref boost::interprocess::interprocess_sharable_mutex interprocess_sharable_mutex]: A non-re…
2078 #include <boost/interprocess/sync/named_sharable_mutex.hpp>
2080 * [classref boost::interprocess::named_sharable_mutex named_sharable_mutex]: A non-recursive,
2087 #include <boost/interprocess/sync/interprocess_upgradable_mutex.hpp>
2089 * [classref boost::interprocess::interprocess_upgradable_mutex interprocess_upgradable_mutex]: A no…
2094 #include <boost/interprocess/sync/named_upgradable_mutex.hpp>
2096 * [classref boost::interprocess::named_upgradable_mutex named_upgradable_mutex]: A non-recursive,
2105 [classref boost::interprocess::scoped_lock scoped_lock] utility,
2109 utilities: [classref boost::interprocess::sharable_lock sharable_lock] and
2110 [classref boost::interprocess::upgradable_lock upgradable_lock]. Both classes are similar to `scope…
2123 #include <boost/interprocess/sync/sharable_lock.hpp>
2127 #include <boost/interprocess/sync/upgradable_lock.hpp>
2137 using namespace boost::interprocess;
2233 [classref boost::interprocess::upgradable_lock upgradable_lock] and
2234 [classref boost::interprocess::sharable_lock sharable_lock] offer
2281 using boost::interprocess;
2317 using boost::interprocess;
2566 A file lock is an interprocess synchronization mechanism to protect concurrent
2602 #include <boost/interprocess/sync/file_lock.hpp>
2612 #include <boost/interprocess/sync/file_lock.hpp>
2618 boost::interprocess::file_lock flock("my_file");
2718 [classref boost::interprocess::file_lock file_lock reference].
2727 [classref boost::interprocess::scoped_lock scoped_lock] and
2728 [classref boost::interprocess::sharable_lock sharable_lock] can be used to make
2733 #include <boost/interprocess/sync/file_lock.hpp>
2734 #include <boost/interprocess/sync/sharable_lock.hpp>
2737 using namespace boost::interprocess;
2756 #include <boost/interprocess/sync/file_lock.hpp>
2757 #include <boost/interprocess/sync/scoped_lock.hpp>
2761 using namespace boost::interprocess;
2781 because [classref boost::interprocess::file_lock file_lock] has no lock
2848 using namespace boost::interprocess;
2900 The [*Boost.Interprocess] message queue is a named interprocess communication: the
2909 using boost::interprocess;
2921 using boost::interprocess;
2935 using boost::interprocess;
2947 using boost::interprocess;
2960 #include <boost/interprocess/ipc/message_queue.hpp>
2975 [classref boost::interprocess::message_queue message_queue] class reference.
3066 * See [link interprocess.customizing_interprocess.custom_interprocess_alloc Writing a new memory
3173 #include <boost/interprocess/managed_shared_memory.hpp>
3236 the portable [classref boost::interprocess::shared_memory_object shared_memory_object]
3238 [classref boost::interprocess::basic_managed_windows_shared_memory basic_managed_windows_shared_mem…
3243 #include <boost/interprocess/managed_windows_shared_memory.hpp>
3246 [classref boost::interprocess::basic_managed_shared_memory basic_managed_shared_memory]
3254 [link interprocess.sharedmemorybetweenprocesses.sharedmemory.windows_shared_memory Native windows s…
3261 the portable [classref boost::interprocess::shared_memory_object shared_memory_object]
3263 [classref boost::interprocess::basic_managed_xsi_shared_memory basic_managed_xsi_shared_memory]
3268 #include <boost/interprocess/managed_xsi_shared_memory.hpp>
3271 [classref boost::interprocess::basic_managed_shared_memory basic_managed_shared_memory]
3277 [classref boost::interprocess::basic_managed_xsi_shared_memory basic_managed_xsi_shared_memory] cla…
3342 #include <boost/interprocess/managed_mapped_file.hpp>
3397 [classref boost::interprocess::basic_managed_mapped_file basic_managed_mapped_file] class reference.
3411 top-level interprocess communications, this class offers
3414 boost::interprocess::bad_alloc (which derives from `std::bad_alloc`)
3426 interprocess mechanism. That handle can be transformed again to an absolute
3507 "boost::interprocess::anonymous_instance" name instead of a normal name:
3575 as [classref boost::interprocess::interprocess_recursive_mutex interprocess_recursive_mutex].
3610 * [*boost::interprocess::flat_map_index flat_map_index]: Based on boost::interprocess::flat_map, a…
3616 * [*boost::interprocess::map_index map_index]: Based on boost::interprocess::map, a managed memory…
3619 times with more overhead per node comparing to *boost::interprocess::flat_map_index*.
3622 * [*boost::interprocess::null_index null_index]: This index is for people using a managed
3630 using *boost::interprocess::map* as the index type we
3631 just must specify [boost::interprocess::map_index map_index] as a template parameter:
3637 // -> boost::interprocess::rbtree_best_fit with process-shared mutexes
3639 // -> boost::interprocess::map<...> as the index to store name/object mappings
3641 typedef boost::interprocess::basic_managed_shared_memory
3643 … , boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family, offset_ptr<void> >
3644 , boost::interprocess::map_index
3650 [link interprocess.customizing_interprocess.custom_indexes Building custom indexes] section.
3793 [classref boost::interprocess::managed_shared_memory managed_shared_memory]:
3798 [classref boost::interprocess::managed_mapped_file managed_mapped_file] also
4009 enum boost::interprocess::allocation_type
4012 boost::interprocess::allocate_new = ...,
4013 boost::interprocess::expand_fwd = ...,
4014 boost::interprocess::expand_bwd = ...,
4015 boost::interprocess::shrink_in_place = ...,
4016 boost::interprocess::nothrow_allocation = ...
4022 allocation_command( boost::interprocess::allocation_type command
4030 * If the parameter command contains the value `boost::interprocess::shrink_in_place` it can't
4031 contain any of these values: `boost::interprocess::expand_fwd`, `boost::interprocess::expand_bwd`.
4033 * If the parameter command contains `boost::interprocess::expand_fwd` or `boost::interprocess::exp…
4036 * If the parameter command contains the value `boost::interprocess::shrink_in_place`, the parameter
4039 …ter `command` contains any of these values: `boost::interprocess::expand_fwd` or `boost::interproc…
4044 * If the parameter command contains the value `boost::interprocess::shrink_in_place`, the function
4051 * If the parameter `command` only contains the value `boost::interprocess::expand_fwd` (with optio…
4052 …additional `boost::interprocess::nothrow_allocation`), the allocator will try to increase the size…
4058 * If the parameter `command` only contains the value `boost::interprocess::expand_bwd` (with optio…
4059 …additional `boost::interprocess::nothrow_allocation`), the allocator will try to increase the size…
4066 * If the parameter `command` only contains the value `boost::interprocess::allocate_new` (with opt…
4067 …additional `boost::interprocess::nothrow_allocation`), the allocator will try to allocate memory f…
4071 * If the parameter `command` only contains a combination of `boost::interprocess::expand_fwd` and
4072 …`boost::interprocess::allocate_new`, (with optional additional `boost::interprocess::nothrow_alloc…
4075 * If the parameter `command` only contains a combination of `boost::interprocess::expand_bwd` and
4076 …`boost::interprocess::allocate_new` (with optional additional `boost::interprocess::nothrow_alloca…
4081 * If the parameter `command` only contains a combination of `boost::interprocess::expand_fwd` and
4082 …`boost::interprocess::expand_bwd` (with optional additional `boost::interprocess::nothrow_allocati…
4089 …`boost::interprocess::expand_fwd` and `boost::interprocess::expand_bwd`, (with optional additional…
4104 * The parameter command does not contain `boost::interprocess::nothrow_allocation`.
4110 `boost::interprocess::nothrow_allocation` the first member will be 0
4266 #include <boost/interprocess/managed_external_buffer.hpp>
4276 [classref boost::interprocess::basic_managed_external_buffer basic_managed_external_buffer] can
4330 #include <boost/interprocess/managed_heap_memory.hpp>
4333 [classref boost::interprocess::basic_managed_external_buffer basic_managed_external_buffer],
4362 a serialized named object data-base that can be sent though serial interprocess
4478 The [classref boost::interprocess::allocator allocator] class defines an allocator class that
4482 [classref boost::interprocess::allocator allocator]
4485 [*Equality:] Two [classref boost::interprocess::allocator allocator] instances
4493 To use [classref boost::interprocess::allocator allocator] you must include
4498 #include <boost/interprocess/allocators/allocator.hpp>
4501 [classref boost::interprocess::allocator allocator] has the following declaration:
4506 namespace interprocess {
4511 } //namespace interprocess {
4518 Using [classref boost::interprocess::allocator allocator] is straightforward:
4546 [classref boost::interprocess::node_allocator node_allocator],
4547 [classref boost::interprocess::private_node_allocator private_node_allocator] and
4548 [classref boost::interprocess::cached_node_allocator cached_node_allocator].
4552 [link interprocess.architecture.allocators_containers.implementation_segregated_storage_pools Imple…
4557 [classref boost::interprocess::node_allocator node_allocator],
4558 [classref boost::interprocess::private_node_allocator private_node_allocator] and
4559 [classref boost::interprocess::cached_node_allocator cached_node_allocator] implement
4561 [link interprocess.allocators_containers.allocator_introduction.allocator_properties Properties of …
4586 [classref boost::interprocess::node_allocator node_allocator]
4588 (see [link interprocess.managed_memory_segments.managed_memory_segment_features.unique Unique insta…
4591 [classref boost::interprocess::node_allocator node_allocator]
4594 [classref boost::interprocess::node_allocator node_allocator]
4605 [classref boost::interprocess::node_allocator node_allocator]
4607 [classref boost::interprocess::node_allocator node_allocator]
4611 [*Equality:] Two [classref boost::interprocess::node_allocator node_allocator] instances
4619 To use [classref boost::interprocess::node_allocator node_allocator],
4624 #include <boost/interprocess/allocators/node_allocator.hpp>
4626 [classref boost::interprocess::node_allocator node_allocator] has the following declaration:
4631 namespace interprocess {
4636 } //namespace interprocess {
4639 An example using [classref boost::interprocess::node_allocator node_allocator]:
4665 [*Equality:] Two [classref boost::interprocess::private_node_allocator private_node_allocator]
4671 To use [classref boost::interprocess::private_node_allocator private_node_allocator],
4676 #include <boost/interprocess/allocators/private_node_allocator.hpp>
4678 [classref boost::interprocess::private_node_allocator private_node_allocator]
4684 namespace interprocess {
4689 } //namespace interprocess {
4692 An example using [classref boost::interprocess::private_node_allocator private_node_allocator]:
4701 The total node sharing of [classref boost::interprocess::node_allocator node_allocator] can impose …
4702 applications and the minimal synchronization overhead of [classref boost::interprocess::private_nod…
4706 [classref boost::interprocess::cached_node_allocator cached_node_allocator], that
4712 [*Equality:] Two [classref boost::interprocess::cached_node_allocator cached_node_allocator]
4718 To use [classref boost::interprocess::cached_node_allocator cached_node_allocator],
4723 #include <boost/interprocess/allocators/cached_node_allocator.hpp>
4725 [classref boost::interprocess::cached_node_allocator cached_node_allocator]
4731 namespace interprocess {
4736 } //namespace interprocess {
4739 A [classref boost::interprocess::cached_node_allocator cached_node_allocator] instance
4740 and a [classref boost::interprocess::node_allocator node_allocator] instance
4746 [classref boost::interprocess::cached_node_allocator cached_node_allocator], offers
4756 An example using [classref boost::interprocess::cached_node_allocator cached_node_allocator]:
4775 [classref boost::interprocess::node_allocator] to temporarily allocate a lot
4784 [link interprocess.architecture.allocators_containers.implementation_adaptive_pools Implementation …
4788 3 new allocators: [classref boost::interprocess::adaptive_pool adaptive_pool],
4789 [classref boost::interprocess::private_adaptive_pool private_adaptive_pool],
4790 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool].
4794 [classref boost::interprocess::adaptive_pool adaptive_pool],
4795 [classref boost::interprocess::private_adaptive_pool private_adaptive_pool] and
4796 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool] implement
4798 [link interprocess.allocators_containers.allocator_introduction.allocator_properties Properties of …
4821 Just like [classref boost::interprocess::node_allocator node_allocator]
4823 initialization, [classref boost::interprocess::adaptive_pool adaptive_pool]
4833 [*Equality:] Two [classref boost::interprocess::adaptive_pool adaptive_pool] instances
4841 To use [classref boost::interprocess::adaptive_pool adaptive_pool],
4846 #include <boost/interprocess/allocators/adaptive_pool.hpp>
4848 [classref boost::interprocess::adaptive_pool adaptive_pool] has the following declaration:
4853 namespace interprocess {
4858 } //namespace interprocess {
4861 An example using [classref boost::interprocess::adaptive_pool adaptive_pool]:
4870 Just like [classref boost::interprocess::private_node_allocator private_node_allocator]
4872 [classref boost::interprocess::private_adaptive_pool private_adaptive_pool] owns
4875 [classref boost::interprocess::private_adaptive_pool private_adaptive_pool]
4878 [*Equality:] Two [classref boost::interprocess::private_adaptive_pool private_adaptive_pool]
4884 To use [classref boost::interprocess::private_adaptive_pool private_adaptive_pool],
4889 #include <boost/interprocess/allocators/private_adaptive_pool.hpp>
4891 [classref boost::interprocess::private_adaptive_pool private_adaptive_pool]
4897 namespace interprocess {
4902 } //namespace interprocess {
4905 An example using [classref boost::interprocess::private_adaptive_pool private_adaptive_pool]:
4917 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool]
4921 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pools] or
4922 [classref boost::interprocess::adaptive_pool adaptive_pools] of the same managed segment.
4924 [*Equality:] Two [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool]
4930 To use [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool],
4935 #include <boost/interprocess/allocators/cached_adaptive_pool.hpp>
4937 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool]
4943 namespace interprocess {
4948 } //namespace interprocess {
4951 A [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool] instance
4952 and an [classref boost::interprocess::adaptive_pool adaptive_pool] instance
4958 [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool], offers
4968 An example using [classref boost::interprocess::cached_adaptive_pool cached_adaptive_pool]:
5036 * [*boost:interprocess::vector] is the implementation of `std::vector` ready
5041 #include <boost/interprocess/containers/vector.hpp>
5043 * [*boost:interprocess::deque] is the implementation of `std::deque` ready
5048 #include <boost/interprocess/containers/deque.hpp>
5050 * [classref boost::interprocess::list list] is the implementation of `std::list` ready
5055 #include <boost/interprocess/containers/list.hpp>
5057 * [classref boost::interprocess::slist slist] is the implementation of SGI's `slist` container (si…
5062 #include <boost/interprocess/containers/slist.hpp>
5064 * [classref boost::interprocess::set set]/
5065 [classref boost::interprocess::multiset multiset]/
5066 [classref boost::interprocess::map map]/
5067 [classref boost::interprocess::multimap multimap] family is the implementation of
5073 #include <boost/interprocess/containers/set.hpp>
5074 #include <boost/interprocess/containers/map.hpp>
5076 * [classref boost::interprocess::flat_set flat_set]/
5077 [classref boost::interprocess::flat_multiset flat_multiset]/
5078 [classref boost::interprocess::flat_map flat_map]/
5079 [classref boost::interprocess::flat_multimap flat_multimap] classes are the
5088 #include <boost/interprocess/containers/flat_set.hpp>
5089 #include <boost/interprocess/containers/flat_map.hpp>
5091 * [classref boost::interprocess::basic_string basic_string]
5096 [link interprocess.streams.vectorstream vectorstream] iostream formatting classes.
5101 #include <boost/interprocess/containers/string.hpp>
5420 //!contiguous storage, like std::vector, boost::interprocess::vector or
5421 //!boost::interprocess::basic_string
5467 [*std::vector], [classref boost::interprocess::vector]... But the storage must be *contiguous*,
5468 we can't use a deque. We can even use *boost::interprocess::basic_string*, since it has a
5580 [classref boost::interprocess::intrusive_ptr] is the generalization of `boost::intrusive_ptr<>`
5604 So `boost::interprocess::intrusive_ptr<MyClass, void*>` is equivalent to
5607 `boost::interprocess::intrusive_ptr<MyClass, boost::interprocess::offset_ptr<void> >`
5616 `boost::interprocess::scoped_ptr<>` is the big brother of `boost::scoped_ptr<>`, which
5652 due to limitations of mapped segments [classref boost::interprocess::shared_ptr]
5658 [classref boost::interprocess::shared_ptr shared_ptr] must be created also in
5662 [classref boost::interprocess::shared_ptr shared_ptr], just like
5665 Here is the declaration of [classref boost::interprocess::shared_ptr shared_ptr]:
5679 also relative pointers. See [classref boost::interprocess::allocator]
5685 `VoidAllocator::pointer`. See [classref boost::interprocess::deleter]
5696 [classref boost::interprocess::shared_ptr] is very flexible and
5701 To simplify this usage, [classref boost::interprocess::shared_ptr] header
5703 ([classref boost::interprocess::managed_shared_ptr managed_shared_ptr]) and a function
5704 ([funcref boost::interprocess::make_managed_shared_ptr make_managed_shared_ptr])
5710 ([classref boost::interprocess::allocator])
5711 and deleter ([classref boost::interprocess::deleter]) to do their job.
5727 [classref boost::interprocess::weak_ptr weak_ptr] (with its corresponding
5728 [classref boost::interprocess::managed_weak_ptr managed_weak_ptr] and
5729 [funcref boost::interprocess::make_managed_weak_ptr make_managed_weak_ptr] utilities)
5731 [classref boost::interprocess::shared_ptr shared_ptr].
5734 [classref boost::interprocess::shared_ptr shared_ptr]:
5736 [classref boost::interprocess::weak_ptr weak_ptr]
5741 In general, using [*Boost.Interprocess]' [classref boost::interprocess::shared_ptr shared_ptr]
5742 and [classref boost::interprocess::weak_ptr weak_ptr] is very similar to their
5748 can be stored in a STL container, [classref boost::interprocess::shared_ptr shared_ptr]
5751 If a programmer just uses [classref boost::interprocess::shared_ptr shared_ptr]
5754 other objects [classref boost::interprocess::managed_unique_ptr managed_unique_ptr] is a much
5764 [classref boost::interprocess::scoped_ptr scoped_ptr] but it's [*moveable]
5795 [classref boost::interprocess::managed_unique_ptr managed_unique_ptr]
5797 [funcref boost::interprocess::make_managed_unique_ptr make_managed_unique_ptr]
5839 a fully std::allocator and boost::interprocess::allocator compatible container. This also
5899 [link interprocess.customizing_interprocess.custom_interprocess_alloc Writing a new shared memory a…
5901 [classref boost::interprocess::simple_seq_fit simple_seq_fit] or
5902 [classref boost::interprocess::rbtree_best_fit rbtree_best_fit] classes.
5962 the [classref boost::interprocess::segment_manager segment_manager] class.
5976 [link interprocess.customizing_interprocess.custom_indexes Building custom indexes] section.
5984 segment manager. For example, [classref boost::interprocess::basic_managed_shared_memory basic_mana…
5986 [classref boost::interprocess::basic_managed_mapped_file basic_managed_mapped_file] works with memo…
6004 [@../../boost/interprocess/detail/managed_memory_impl.hpp
6005 boost::interprocess::ipcdetail::basic_managed_memory_impl]
6010 * [classref boost::interprocess::basic_managed_shared_memory basic_managed_shared_memory] (for sh…
6011 * [classref boost::interprocess::basic_managed_mapped_file basic_managed_mapped_file] (for memo…
6012 * [classref boost::interprocess::basic_managed_heap_memory basic_managed_heap_memory] (for heap…
6013 * [classref boost::interprocess::basic_managed_external_buffer basic_managed_external_buffer] (for …
6039 `boost::interprocess::allocator<T>` will store an `offset_ptr<segment_manager>`
6040 to point to the segment manager and the `boost::interprocess::allocator<T>::pointer` type
6067 [@../../boost/interprocess/allocators/detail/node_pool.hpp
6110 [@../../boost/interprocess/allocators/detail/adaptive_node_pool.hpp
6118 in `boost::interprocess` namespace, but with these little details:
6148 * [*Implicit]: For example, you are using `boost::interprocess::allocator<...>` with
6168 …[link interprocess.allocators_containers.stl_allocators_segregated_storage Segregated storage node…
6169 …[link interprocess.allocators_containers.stl_allocators_adaptive Adaptive node allocators] for mor…
6174 …[link interprocess.customizing_interprocess.custom_interprocess_alloc Writing a new shared memory …
6228 * If the index is a node index, (marked with `boost::interprocess::is_node_index`
6253 [link interprocess.customizing_interprocess.custom_indexes Building custom indexes] for this.
6344 typedef boost::interprocess::interprocess_mutex mutex_type;
6345 typedef boost::interprocess::interprocess_recursive_mutex recursive_mutex_type;
6348 defines all interprocess_mutex types using boost::interprocess interprocess_mutex types.
6356 that boost::interprocess::rbtree_best_fit class offers:
6470 use `boost::interprocess::flat_map` as index.
6493 `boost::interprocess::flat_map` and `boost::interprocess::map`.
6559 For example, the index type `flat_map_index` based in `boost::interprocess::flat_map`
6562 [import ../../../boost/interprocess/indexes/flat_map_index.hpp]
6572 specialization of `boost::interprocess::is_node_index<...>` defined in
6573 `<boost/interprocess/detail/utilities.hpp>`:
6589 * [*boost::map_index] uses *boost::interprocess::map* as index type.
6649 in the Windows configuration part of `boost/interprocess/detail/workaround.hpp`.
6662 namespace interprocess {
6694 namespace interprocess {
6787 …* [@https://github.com/boostorg/interprocess/issues/127 GitHub #127 (['"static assertion failure w…
6799 …* [@https://github.com/boostorg/interprocess/issues/89 GitHub #89 (['"priv_size_from_mapping_size(…
6800 * [@https://github.com/boostorg/interprocess/issues/99 GitHub #99 (['"Error in win32_api.hpp"])].
6801 …* [@https://github.com/boostorg/interprocess/issues/105 GitHub #105 (['"Build failure with clang o…
6802 … * [@https://github.com/boostorg/interprocess/pull/119 GitHub #119 (['"Fix mingw compile error"])].
6809 …* [@https://github.com/boostorg/interprocess/pull/85 GitHub #85 (['"warning: Implicit conversion l…
6810 …* [@https://github.com/boostorg/interprocess/pull/86 GitHub #86 (['"warning: Possible misuse of co…
6817 …* [@https://github.com/boostorg/interprocess/pull/51 GitHub Pull #51 (['"United handling of wait_f…
6818 …* [@https://github.com/boostorg/interprocess/pull/78 GitHub Pull #78 (['"Fix -Wextra-semi clang wa…
6827 …* [@https://github.com/boostorg/interprocess/issues/59 GitHub Issue #59 (['"warning: ISO C++ prohi…
6828 …hub.com/boostorg/interprocess/issues/60 GitHub Issue #60 (['"warning: cast between incompatible fu…
6829 …* [@https://github.com/boostorg/interprocess/issues/61 GitHub Issue #61 (['"warning: struct winapi…
6830 …com/boostorg/interprocess/issues/64 GitHub Issue #64 (['"UBSan: runtime error: load of value 42949…
6831 …* [@https://github.com/boostorg/interprocess/pull/68 GitHub Pull #68 (['"Prepare for C++20 and r…
6832 …* [@https://github.com/boostorg/interprocess/pull/70 GitHub Pull #70 (['"Fix deadlock in named_c…
6838 …* [@https://github.com/boostorg/interprocess/issues/53 GitHub Issue #53 (['"Crash waiting on condi…
6839 …* [@https://github.com/boostorg/interprocess/issues/54 GitHub Issue #54 (['"fill_system_message() …
6845 …* [@https://github.com/boostorg/interprocess/pull/45 GitHub Pull #45 (['"Make intrusive_ptr move c…
6846 …* [@https://github.com/boostorg/interprocess/pull/48 GitHub Pull #48 (['"Win32: Fix read of reg_ex…
6852 …* [@https://github.com/boostorg/interprocess/pull/41 GitHub Pull #41 (['"Data race in boost::inter…
6858 …* [@https://github.com/boostorg/interprocess/pull/37 GitHub Pull #37 (['"Conditionally replace dep…
6866 …* [@https://github.com/boostorg/interprocess/pull/32 GitHub Pull #32 (['"Conform to std::pointer_t…
6867 …* [@https://github.com/boostorg/interprocess/pull/33 GitHub Pull #33 (['"explicit cast to derived …
6868 …* [@https://github.com/boostorg/interprocess/pull/34 GitHub Pull #34 (['"Update example to use mul…
6869 …* [@https://github.com/boostorg/interprocess/pull/35 GitHub Pull #35 (['"Fixed options for cross-c…
6880 …* [@https://github.com/boostorg/interprocess/pull/30 GitHub Pull #30 (['"Provide extension point s…
6881 …* [@https://github.com/boostorg/interprocess/pull/31 GitHub Pull #31 (['"Add xsi_key(key_t) constr…
6887 …* [@https://github.com/boostorg/interprocess/pull/27 GitHub Pull #27 (['"Fix undefined behavior"])…
6893 …* [@https://github.com/boostorg/interprocess/pull/23 GitHub Pull #23 (['"Fixed case sensitive for …
6898 * Improved [classref boost::interprocess::offset_ptr offset_ptr] performance and removed any undef…
6908 …* [@https://github.com/boostorg/interprocess/pull/19 GitHub Pull #19 (['"Fix exception visibility"…
6915 …* [@https://github.com/boostorg/interprocess/pull/13 GitHub Pull #13 (['"haiku: we don't have XSI …
6921 * Removed `unique_ptr`, now forwards boost::interprocess::unique_ptr to the general purpose
6926 …boost.org/trac/boost/ticket/10229 Trac #10229 (['"Compiling errors in interprocess\detail\os_file_…
6928 …* [@https://github.com/boostorg/interprocess/pull/11 GitHub Pull #11 (['"Compile fix for BOOST_USE…
6937 … (['"On some computers, Common Appdata is empty in registry, so boost interprocess cannot work"])].
6950 …* [@https://svn.boost.org/trac/boost/ticket/10230 Trac #10230 (['"No Sleep in interprocess::winapi…
6951 …* [@https://github.com/boostorg/interprocess/pull/2 GitHub Pull #2] (['"Provide support for the Cr…
6952 …* [@https://github.com/boostorg/interprocess/pull/3 GitHub Pull #3] (['"Fix/mingw interprocess_exc…
6971 * Added `get_size` to [classref ::boost:interprocess:windows_shared_memory].
6978 …* [@https://svn.boost.org/trac/boost/ticket/7156 #7156] (['"interprocess buffer streams leak memor…
7027 …undefining macro `BOOST_INTERPROCESS_MSG_QUEUE_CIRCULAR_INDEX` in `boost/interprocess/detail/worka…
7172 * Permissions can be detailed for interprocess named resources.
7264 [classref boost::interprocess::shared_ptr shared_ptr],
7265 [classref boost::interprocess::weak_ptr weak_ptr] and
7286 * Implemented [classref boost::interprocess::named_mutex named_mutex] and
7287 [classref boost::interprocess::named_semaphore named_semaphore] with POSIX
7289 [classref boost::interprocess::named_condition named_condition] has been
7291 [classref boost::interprocess::named_mutex named_mutex].
7315 * Fixed leak in [classref boost::interprocess::vector vector].
7319 * Optimized [classref boost::interprocess::segment_manager segment_manager]
7403 in interprocess [classref boost::interprocess::multiset multiset] and
7404 [classref boost::interprocess::multimap multimap] classes.