libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents > Class Template Reference

#include <SharedMemory.hpp>

Inheritance diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents >:
[legend]
Collaboration diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents >:
[legend]

Public Member Functions

 KnRManagedSharedMemory (const HeapID &details)
 
 ~KnRManagedSharedMemory (void)
 
unsigned long Capacity (void) const noexcept(true)
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::ManagedSharedMemory< contents >
 ManagedSharedMemory (const std::string &mgr_name, const HeapID &details, const DWORD protection=PAGE_READWRITE, HANDLE file=INVALID_HANDLE_VALUE)
 
virtual ~ManagedSharedMemory ()
 
contents * Allocate (const unsigned long n, const void *const hint)
 
void Construct (contents *const ptr, const contents &val)
 
void Deallocate (const contents *const p, const unsigned long n)
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::RawSharedMemory< contents >
 RawSharedMemory (const HeapID &details, const DWORD protection=PAGE_READWRITE, HANDLE file=INVALID_HANDLE_VALUE)
 
virtual ~RawSharedMemory (void)
 
const std::string & Name (void) const noexcept(true)
 
bool IsCreator (void) const noexcept(true)
 
 operator const contents * () const
 
 operator contents * ()
 
NTUtils::Mutex & Lock (void) noexcept(true)
 
virtual std::ostream & operator<< (std::ostream &strm) const
 
virtual std::istream & operator>> (std::istream &strm)
 
unsigned long UsageCount (void) const noexcept(true)
 

Additional Inherited Members

- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::RawSharedMemory< contents >
typedef contents contents_type
 
- Protected Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::ManagedSharedMemory< contents >
 ManagedSharedMemory (const unsigned long p, const std::string &mgr_name, const HeapID &details, const DWORD protection=PAGE_READWRITE, HANDLE file=INVALID_HANDLE_VALUE)
 
- Protected Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::RawSharedMemory< contents >
 RawSharedMemory (const unsigned long p, const HeapID &details, const DWORD protection=PAGE_READWRITE, HANDLE file=INVALID_HANDLE_VALUE)
 
contents * MapDataPtr (HANDLE file, const DWORD access, const DWORD hi_offset, const DWORD low_offset, const unsigned long size)
 
void UnmapDataPtr (const contents *)
 
- Static Protected Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::ManagedSharedMemory< contents >
static unsigned long GetEndPrivateDataBlock (void) noexcept(true)
 
- Static Protected Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::RawSharedMemory< contents >
static unsigned long GetEndPrivateDataBlock (void) noexcept(true)
 
- Protected Attributes inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::RawSharedMemory< contents >
const NTUtils::SecuritySettings *const ss
 
NTUtils::Mutex mutex
 
HANDLE rw_pub_mapping
 
HANDLE ro_pub_mapping
 
contents * rw_raw_data
 
contents * rw_pub_data
 
const contents * ro_pub_data
 

Detailed Description

template<class contents>
class jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents >

Definition at line 206 of file SharedMemory.hpp.

Constructor & Destructor Documentation

◆ KnRManagedSharedMemory()

◆ ~KnRManagedSharedMemory()

template<class contents >
jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents >::~KnRManagedSharedMemory ( void  )
inline

Definition at line 745 of file SharedMemory.hpp.

Member Function Documentation

◆ Capacity()

template<class contents >
unsigned long jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::KnRManagedSharedMemory< contents >::Capacity ( void  ) const
inlinevirtualnoexcept

The documentation for this class was generated from the following file: