Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Bounded_Pseudo_Sequence Class Template Reference

Bounded version of TAO_Unbounded_Pseudo_Sequence. More...

#include <Sequence_T.h>

Inheritance diagram for TAO_Bounded_Pseudo_Sequence

Inheritance graph
[legend]
Collaboration diagram for TAO_Bounded_Pseudo_Sequence:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Bounded_Pseudo_Sequence (void)
 default ctor.

 TAO_Bounded_Pseudo_Sequence (CORBA::ULong length, T* *value, CORBA::Boolean release=0)
 Constructor from data.

 TAO_Bounded_Pseudo_Sequence (const TAO_Bounded_Pseudo_Sequence<T,T_var,MAX> &)
 Copy constructor.

 ~TAO_Bounded_Pseudo_Sequence (void)
 destructor.

TAO_Bounded_Pseudo_Sequence& operator= (const TAO_Bounded_Pseudo_Sequence<T,T_var,MAX> &)
 Assignment from another Bounded sequence.

TAO_Pseudo_Object_Manager<
T,T_var> 
operator[] (CORBA::ULong slot) const
 Read-write accessor.

virtual void _allocate_buffer (CORBA::ULong length)
virtual void _deallocate_buffer (void)
 Must deallocate the buffer and then set it to zero.

virtual void _shrink_buffer (CORBA::ULong new_length, CORBA::ULong old_length)

Static Public Methods

T** allocbuf (CORBA::ULong length)
 Allocate storage for a sequence..

void freebuf (T **buffer)
 Free a buffer allocated by allocbuf() and release each element on it.


Detailed Description

template<class T, class T_var, size_t MAX> template class TAO_Bounded_Pseudo_Sequence

Bounded version of TAO_Unbounded_Pseudo_Sequence.

Please see the documentation for the unbounded case.


Constructor & Destructor Documentation

template<classT, classT_var, size_tMAX>
TAO_Bounded_Pseudo_Sequence<T, T_var, MAX>::TAO_Bounded_Pseudo_Sequence<T, T_var, MAX> ( void )
 

default ctor.

template<classT, classT_var, size_tMAX>
ACE_INLINE TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::TAO_Bounded_Pseudo_Sequence<T, T_var, MAX> ( CORBA::ULong length,
T ** value,
CORBA::Boolean release = 0 )
 

Constructor from data.

template<classT, classT_var, size_tMAX>
TAO_Bounded_Pseudo_Sequence<T, T_var, MAX>::TAO_Bounded_Pseudo_Sequence<T, T_var, MAX> ( const TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >& rhs )
 

Copy constructor.

template<classT, classT_var, size_tMAX>
ACE_INLINE TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::~TAO_Bounded_Pseudo_Sequence<T, T_var, MAX> ( void )
 

destructor.


Member Function Documentation

template<classT, classT_var, size_tMAX>
void TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::_allocate_buffer ( CORBA::ULong length ) [virtual]
 

Ensure that the buffer contains space for at least <length> elements. The constructor must be called for any new elements, the old ones (if any) must be copied into the buffer using operator= and then their destructors must be called. Finally the old buffer must be released.

Reimplemented from TAO_Base_Sequence.

template<classT, classT_var, size_tMAX>
void TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::_deallocate_buffer ( void ) [virtual]
 

Must deallocate the buffer and then set it to zero.

Reimplemented from TAO_Base_Sequence.

template<classT, classT_var, size_tMAX>
void TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::_shrink_buffer ( CORBA::ULong nl,
CORBA::ULong ol ) [virtual]
 

Some sequences (of objects and strings) require some cleanup if the sequence is shrunk. The spec requires the destructor to release the objects only from position <0> to <length-1>; so shrink and then delete could result in a memory leak.

Reimplemented from TAO_Base_Sequence.

template<classT, classT_var, size_tMAX>
T ** TAO_Bounded_Pseudo_Sequence<T, T_var, MAX>::allocbuf ( CORBA::ULong length ) [static]
 

Allocate storage for a sequence..

template<classT, classT_var, size_tMAX>
void TAO_Bounded_Pseudo_Sequence<T, T_var, MAX>::freebuf ( T ** buffer ) [static]
 

Free a buffer allocated by allocbuf() and release each element on it.

template<classT, classT_var, size_tMAX>
TAO_Bounded_Pseudo_Sequence<T, T_var, MAX> & TAO_Bounded_Pseudo_Sequence<T, T_var, MAX>::operator= ( const TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >& rhs )
 

Assignment from another Bounded sequence.

template<classT, classT_var, size_tMAX>
ACE_INLINE TAO_Pseudo_Object_Manager< T,T_var > TAO_Bounded_Pseudo_Sequence< T,T_var,MAX >::operator[] ( CORBA::ULong slot ) const
 

Read-write accessor.


The documentation for this class was generated from the following files:
Generated at Fri Oct 5 08:01:33 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000