TAO_Unbounded_Sequence< CORBA::Octet > Class Template Reference

#include <Sequence.h>

Inheritance diagram for TAO_Unbounded_Sequence< CORBA::Octet >:

Inheritance graph
[legend]
Collaboration diagram for TAO_Unbounded_Sequence< CORBA::Octet >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Unbounded_Sequence (void)
 see TAO_Unbounded_Sequence in "Sequence_T.h"
 TAO_Unbounded_Sequence (CORBA::ULong max)
 TAO_Unbounded_Sequence (CORBA::ULong max, CORBA::ULong length, CORBA::Octet *data, CORBA::Boolean release=0)
virtual ~TAO_Unbounded_Sequence (void)
 TAO_Unbounded_Sequence (const TAO_Unbounded_Sequence< CORBA::Octet > &)
TAO_Unbounded_Sequence< CORBA::Octet > & operator= (const TAO_Unbounded_Sequence< CORBA::Octet > &)
CORBA::Octetoperator[] (CORBA::ULong)
const CORBA::Octetoperator[] (CORBA::ULong) const
virtual void _allocate_buffer (CORBA::ULong length)
virtual void _deallocate_buffer (void)
 Must deallocate the buffer and then set it to zero.
CORBA::Octetget_buffer (CORBA::Boolean orphan=0)
const CORBA::Octetget_buffer (void) const
void replace (CORBA::ULong max, CORBA::ULong length, CORBA::Octet *data, CORBA::Boolean release=0)
 See the general description of this methods in "Sequence_T.h".
ACE_Message_Blockmb (void) const
 TAO_Unbounded_Sequence (CORBA::ULong length, const ACE_Message_Block *mb)
void replace (CORBA::ULong length, const ACE_Message_Block *mb)

Static Public Member Functions

static void _tao_any_destructor (void *)
static CORBA::Octetallocbuf (CORBA::ULong)
static void freebuf (CORBA::Octet *)
 Free the storage.

Private Attributes

ACE_Message_Blockmb_

Friends

class TAO_Marshal_Sequence
 For efficient marshalling and demarshalling.

template<>
class TAO_Unbounded_Sequence< CORBA::Octet >


Constructor & Destructor Documentation

ACE_INLINE TAO_Unbounded_Sequence< CORBA::Octet >::TAO_Unbounded_Sequence ( void   ) 

see TAO_Unbounded_Sequence in "Sequence_T.h"

ACE_INLINE TAO_Unbounded_Sequence< CORBA::Octet >::TAO_Unbounded_Sequence ( CORBA::ULong  max  ) 

ACE_INLINE TAO_Unbounded_Sequence< CORBA::Octet >::TAO_Unbounded_Sequence ( CORBA::ULong  max,
CORBA::ULong  length,
CORBA::Octet data,
CORBA::Boolean  release = 0 
)

TAO_Unbounded_Sequence< CORBA::Octet >::~TAO_Unbounded_Sequence ( void   )  [virtual]

TAO_Unbounded_Sequence< CORBA::Octet >::TAO_Unbounded_Sequence ( const TAO_Unbounded_Sequence< CORBA::Octet > &   ) 

The copy constructor and assignment operators *do* copy the data, though we could simply duplicate the ref count in the ACE_Message_Block this will change the semantics for this operations.

TAO_Unbounded_Sequence< CORBA::Octet >::TAO_Unbounded_Sequence ( CORBA::ULong  length,
const ACE_Message_Block mb 
)

Create a sequence of octets from a single message block (i.e. it ignores any chaining in the meesage block).


Member Function Documentation

void TAO_Unbounded_Sequence< CORBA::Octet >::_allocate_buffer ( CORBA::ULong  length  )  [virtual]

Implement the methods for all the sequence, please see TAO_Base_Sequence.

Implements TAO_Base_Sequence.

void TAO_Unbounded_Sequence< CORBA::Octet >::_deallocate_buffer ( void   )  [virtual]

Must deallocate the buffer and then set it to zero.

Implements TAO_Base_Sequence.

void TAO_Unbounded_Sequence< CORBA::Octet >::_tao_any_destructor ( void *   )  [static]

Use in the implementation of insertion and extraction operators from CORBA::Any

Reimplemented in CORBA::OctetSeq.

ACE_INLINE CORBA::Octet * TAO_Unbounded_Sequence< CORBA::Octet >::allocbuf ( CORBA::ULong   )  [static]

Allocate storage for the sequence, please note that the storage is always held in a ACE_Message_Block.

ACE_INLINE void TAO_Unbounded_Sequence< CORBA::Octet >::freebuf ( CORBA::Octet  )  [static]

Free the storage.

ACE_INLINE const CORBA::Octet * TAO_Unbounded_Sequence< CORBA::Octet >::get_buffer ( void   )  const

CORBA::Octet * TAO_Unbounded_Sequence< CORBA::Octet >::get_buffer ( CORBA::Boolean  orphan = 0  ) 

ACE_Message_Block* TAO_Unbounded_Sequence< CORBA::Octet >::mb ( void   )  const

Returns the underlying message block, the caller must *not* release the copy.

TAO_Unbounded_Sequence< CORBA::Octet > & TAO_Unbounded_Sequence< CORBA::Octet >::operator= ( const TAO_Unbounded_Sequence< CORBA::Octet > &   ) 

ACE_INLINE const CORBA::Octet & TAO_Unbounded_Sequence< CORBA::Octet >::operator[] ( CORBA::ULong   )  const

ACE_INLINE CORBA::Octet & TAO_Unbounded_Sequence< CORBA::Octet >::operator[] ( CORBA::ULong   ) 

See the general description in "Sequence_T.h" NOTE: This last two methods can be rendered useless in certain cases, see below.

void TAO_Unbounded_Sequence< CORBA::Octet >::replace ( CORBA::ULong  length,
const ACE_Message_Block mb 
)

Replaces the current buffer with <mb>, using only <length> bytes. It takes a duplicate of <mb> so the user still owns it.

void TAO_Unbounded_Sequence< CORBA::Octet >::replace ( CORBA::ULong  max,
CORBA::ULong  length,
CORBA::Octet data,
CORBA::Boolean  release = 0 
)

See the general description of this methods in "Sequence_T.h".


Friends And Related Function Documentation

friend class TAO_Marshal_Sequence [friend]

For efficient marshalling and demarshalling.

Reimplemented from TAO_Base_Sequence.


Member Data Documentation

ACE_Message_Block* TAO_Unbounded_Sequence< CORBA::Octet >::mb_ [private]


The documentation for this class was generated from the following files:
Generated on Wed Apr 19 03:25:42 2006 for TAO by  doxygen 1.4.6-4