Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# ACE_Locked_Data_Block< ACE_LOCK > Class Template Reference

A Data_Block with a concrete locking strategy. More...

`#include <Message_Block_T.h>`

Inheritance diagram for ACE_Locked_Data_Block< ACE_LOCK >:

[legend]
Collaboration diagram for ACE_Locked_Data_Block< ACE_LOCK >:

[legend]
List of all members.

## Public Member Functions
| ACE_Locked_Data_Block (void)
| Default "do-nothing" constructor.
| ACE_Locked_Data_Block (size_t size, ACE_Message_Block::ACE_Message_Type msg_type, const char *msg_data, ACE_Allocator *allocator_strategy, ACE_Message_Block::Message_Flags flags, ACE_Allocator *data_block_allocator)
| Initialize.
virtual | ~ACE_Locked_Data_Block (void)
| Delete all the resources held in the message.
virtual ACE_Data_Block * | clone_nocopy (ACE_Message_Block::Message_Flags mask=0) const
## Private Member Functions
ACE_Locked_Data_Block< ACE_LOCK > & | operator= (const ACE_Locked_Data_Block< ACE_LOCK > &)
| ACE_Locked_Data_Block (const ACE_Locked_Data_Block< ACE_LOCK > &)
## Private Attributes
ACE_LOCK | lock_
| The lock.

## Detailed Description

### template<class ACE_LOCK>
class ACE_Locked_Data_Block< ACE_LOCK >

A Data_Block with a concrete locking strategy.

Data_Blocks can be parametric on the kind of lock they use; in many cases the lifetime of the lock is tied to the lifetime of the Data_Block itself. But since Data_Blocks are reference counted it is hard for users to control the lock lifetime. This class is parametric over the kind of lock used.

## Constructor & Destructor Documentation

template<class ACE_LOCK>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block | ( | void |  | ) |

| Default "do-nothing" constructor.

template<class ACE_LOCK>
ACE_INLINE ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block | ( | size_t | size,
|  | ACE_Message_Block::ACE_Message_Type | msg_type,
|  | const char * | msg_data,
|  | ACE_Allocator * | allocator_strategy,
|  | ACE_Message_Block::Message_Flags | flags,
|  | ACE_Allocator * | data_block_allocator
| ) |

| Initialize.

template<class L>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Locked_Data_Block< L >::~ACE_Locked_Data_Block | ( | void |  | ) | `[virtual]`

| Delete all the resources held in the message.

template<class ACE_LOCK>
ACE_Locked_Data_Block< ACE_LOCK >::ACE_Locked_Data_Block | ( | const ACE_Locked_Data_Block< ACE_LOCK > & |  | ) | `[private]`

## Member Function Documentation

template<class ACE_LOCK>
ACE_Data_Block * ACE_Locked_Data_Block< ACE_LOCK >::clone_nocopy | ( | ACE_Message_Block::Message_Flags | mask = `0` | ) | const`[virtual]`

| Return an exact "deep copy" of the message, the dynamic type is ACE_Locked_Data_Block<> See the documentation in Message_Block.h for details. Reimplemented from ACE_Data_Block.

template<class ACE_LOCK>
ACE_Locked_Data_Block<ACE_LOCK>& ACE_Locked_Data_Block< ACE_LOCK >::operator= | ( | const ACE_Locked_Data_Block< ACE_LOCK > & |  | ) | `[private]`

## Member Data Documentation

template<class ACE_LOCK>
ACE_LOCK ACE_Locked_Data_Block< ACE_LOCK >::lock_`[private]`

| The lock.

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

- Message_Block_T.h
- Message_Block_T.cpp
- Message_Block_T.inl