IProvideUserData Class Reference
[InterfacesOpaque user dataProtected non-virtual destructors on abstract base classes]

Inheritance diagram for IProvideUserData:

Inheritance graph
[legend]

List of all members.


Detailed Description

An interface that works with IIndexedOpaqueUserData to allow users of a class that provides opaque user data to request a named 'slot' for their data. Generally what happens is that an allocator will expose this interface and the allocated items will expose the interface to access the user data. Users of the allocator can request named slots of user data before allocating the first item and then all items are created with the required amount of user data space.

Public Member Functions

virtual
IIndexedOpaqueUserData::UserDataIndex 
RequestUserDataSlot (const _tstring &name)=0
 Request a named user data slot and get an index to use in calls to methods on IIndexedOpaqueUserData.

Protected Member Functions

 ~IProvideUserData ()
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.

Constructor & Destructor Documentation

~IProvideUserData (  )  [inline, protected]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

virtual IIndexedOpaqueUserData::UserDataIndex RequestUserDataSlot ( const _tstring name  )  [pure virtual]

Request a named user data slot and get an index to use in calls to methods on IIndexedOpaqueUserData.

Implemented in CBufferAllocator, CLockFreeBufferAllocator, TSocketAllocator< JetByteTools::Socket::IAllocateDatagramSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateStreamSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateSequencedStreamSockets >, and TSocketAllocator< JetByteTools::Socket::IAllocateDatagramServerSockets >.


Generated on Tue Oct 2 15:45:40 2007 for JetByte Tools - v5.2 by  doxygen 1.5.3