Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template basic_managed_windows_shared_memory

boost::interprocess::basic_managed_windows_shared_memory

Synopsis

// In header: <boost/interprocess/managed_windows_shared_memory.hpp>

template<typename CharType, typename AllocationAlgorithm, 
          IndexType> 
class basic_managed_windows_shared_memory {
public:
  // types
  typedef  ;

  // construct/copy/destruct
  () ;
  (create_only_t, , , 
                                       = , 
                                      permissions & = permissions());
  (open_or_create_t, , 
                                      ,  = , 
                                      permissions & = permissions());
  (open_only_t, , 
                                       = );
  (open_copy_on_write_t, , 
                                       = );
  (open_read_only_t, , 
                                       = );
  (open_or_create_t, , 
                                      ,  = , 
                                      permissions & = permissions());
  (open_only_t, , 
                                       = );
  (open_copy_on_write_t, , 
                                       = );
  (open_read_only_t, , 
                                       = );
  (basic_managed_windows_shared_memory &&) ;
  basic_managed_windows_shared_memory & 
  (basic_managed_windows_shared_memory &&) ;
  ~();

  // public member functions
   (basic_managed_windows_shared_memory &) ;
};

Description

A basic managed windows shared memory creation class. Initializes the shared memory segment. Inherits all basic functionality from basic_managed_memory_impl<CharType, AllocationAlgorithm, IndexType> Unlike basic_managed_shared_memory, it has no kernel persistence and the shared memory is destroyed when all processes destroy all their windows_shared_memory objects and mapped regions for the same shared memory or the processes end/crash.

Warning: basic_managed_windows_shared_memory and basic_managed_shared_memory can't communicate between them.

basic_managed_windows_shared_memory public construct/copy/destruct

  1. () ;

    Default constructor. Does nothing. Useful in combination with move semantics

  2. (create_only_t,  name, 
                                         size,  addr = , 
                                        permissions & perm = permissions());

    Creates shared memory and creates and places the segment manager. This can throw.

  3. (open_or_create_t,  name, 
                                         size,  addr = , 
                                        permissions & perm = permissions());

    Creates shared memory and creates and places the segment manager if segment was not created. If segment was created it connects to the segment. This can throw.

  4. (open_only_t,  name, 
                                         addr = );

    Connects to a created shared memory and its segment manager. This can throw.

  5. (open_copy_on_write_t,  name, 
                                         addr = );

    Connects to a created shared memory and its segment manager in copy_on_write mode. This can throw.

  6. (open_read_only_t,  name, 
                                         addr = );

    Connects to a created shared memory and its segment manager in read-only mode. This can throw.

  7. (open_or_create_t,  name, 
                                         size,  addr = , 
                                        permissions & perm = permissions());

    Creates shared memory and creates and places the segment manager if segment was not created. If segment was created it connects to the segment. This can throw.

  8. (open_only_t,  name, 
                                         addr = );

    Connects to a created shared memory and its segment manager. This can throw.

  9. (open_copy_on_write_t, 
                                         name, 
                                         addr = );

    Connects to a created shared memory and its segment manager in copy_on_write mode. This can throw.

  10. (open_read_only_t,  name, 
                                         addr = );

    Connects to a created shared memory and its segment manager in read-only mode. This can throw.

  11. (basic_managed_windows_shared_memory && moved) ;

    Moves the ownership of "moved"'s managed memory to *this. Does not throw

  12. basic_managed_windows_shared_memory & 
    (basic_managed_windows_shared_memory && moved) ;

    Moves the ownership of "moved"'s managed memory to *this. Does not throw

  13. ~();

    Destroys *this and indicates that the calling process is finished using the resource. All mapped regions are still valid after destruction. When all mapped regions and basic_managed_windows_shared_memory objects referring the shared memory are destroyed, the operating system will destroy the shared memory.

basic_managed_windows_shared_memory public member functions

  1.  (basic_managed_windows_shared_memory & other) ;

    Swaps the ownership of the managed mapped memories managed by *this and other. Never throws.


PrevUpHomeNext