#include <Sequence.h>
Inheritance diagram for TAO_Base_Sequence
Public Methods | |
virtual | ~TAO_Base_Sequence (void) |
destructor. | |
CORBA::ULong | maximum (void) const |
return the maximum length of the sequence. | |
virtual void | _allocate_buffer (CORBA::ULong length) = 0 |
virtual void | _deallocate_buffer (void) = 0 |
Must deallocate the buffer and then set it to zero. | |
virtual void | _shrink_buffer (CORBA::ULong new_length, CORBA::ULong old_length) |
virtual void | _downcast (void *target, CORBA_Object *src, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()) |
Used for sequences of objects to downcast a recently demarshalled object reference into the right type. | |
virtual CORBA_Object* | _upcast (void *src) const |
Used for sequences of object to convert from the derived type into the Object class. | |
TAO_Base_Sequence (const TAO_Base_Sequence &rhs) | |
TAO_Base_Sequence& | operator= (const TAO_Base_Sequence &rhs) |
Protected Methods | |
TAO_Base_Sequence (void) | |
Default constructor. | |
TAO_Base_Sequence (CORBA::ULong maximum, CORBA::ULong length, void *buffer, CORBA::Boolean release = 0) | |
Constructor with control of ownership. | |
TAO_Base_Sequence (CORBA::ULong maximum, void *buffer) | |
Assume ownership and set length to 0. | |
CORBA::Boolean | release (void) const |
Returns the state of the sequence release flag. | |
Protected Attributes | |
CORBA::ULong | maximum_ |
The maximum number of elements the buffer can contain. | |
CORBA::ULong | length_ |
The current number of elements in the buffer. | |
void* | buffer_ |
The buffer with all the elements, casting must be done in derived classes. | |
CORBA::Boolean | release_ |
If true then the sequence should release the buffer when it is destroyed. | |
Friends | |
class | TAO_Marshal_Sequence |
This class provides a common interface for all IDL sequences, hence the interpreted marshal engine can manipulate them in a type safe manner.
|
destructor.
|
|
Default constructor.
|
|
Constructor with control of ownership.
|
|
Assume ownership and set length to 0.
|
|
|
|
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 in _TAO_Unbounded_Object_Sequence_CORBA_DomainManagerList, _TAO_Unbounded_Sequence_TAO_IIOPEndpointSequence, CORBA_InvalidPolicies::_TAO_Unbounded_Sequence_CORBA_InvalidPolicies__tao_seq_UShort, _TAO_Unbounded_Object_Sequence_CORBA_PolicyList, _TAO_Unbounded_Sequence_CORBA_PolicyTypeSeq, TAO_Unbounded_String_Sequence, TAO_Unbounded_WString_Sequence, TAO_Unbounded_Sequence< CORBA::Octet >, TAO_Unbounded_Sequence, TAO_Bounded_Sequence, TAO_Unbounded_Object_Sequence, TAO_Bounded_Object_Sequence, TAO_Unbounded_Pseudo_Sequence, TAO_Bounded_Pseudo_Sequence, TAO_Unbounded_Array_Sequence, TAO_Bounded_Array_Sequence, TAO_Bounded_String_Sequence, and TAO_Bounded_WString_Sequence. |
|
|
Used for sequences of objects to downcast a recently demarshalled object reference into the right type.
Reimplemented in _TAO_Unbounded_Object_Sequence_CORBA_DomainManagerList, _TAO_Unbounded_Object_Sequence_CORBA_PolicyList, TAO_Unbounded_Object_Sequence, and TAO_Bounded_Object_Sequence. |
|
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 in _TAO_Unbounded_Object_Sequence_CORBA_DomainManagerList, _TAO_Unbounded_Object_Sequence_CORBA_PolicyList, TAO_Unbounded_String_Sequence, TAO_Unbounded_WString_Sequence, TAO_Unbounded_Object_Sequence, TAO_Bounded_Object_Sequence, TAO_Unbounded_Pseudo_Sequence, TAO_Bounded_Pseudo_Sequence, TAO_Bounded_String_Sequence, and TAO_Bounded_WString_Sequence. |
|
Used for sequences of object to convert from the derived type into the Object class.
Reimplemented in _TAO_Unbounded_Object_Sequence_CORBA_DomainManagerList, _TAO_Unbounded_Object_Sequence_CORBA_PolicyList, TAO_Unbounded_Object_Sequence, and TAO_Bounded_Object_Sequence. |
|
return the maximum length of the sequence.
|
|
|
|
Returns the state of the sequence release flag.
|
|
We give access to TAO_Marshal_Sequence, this allows a safe yet small footprint implementation of the marshal engine.
Reimplemented in TAO_Unbounded_Sequence< CORBA::Octet >. |
|
The buffer with all the elements, casting must be done in derived classes.
|
|
The current number of elements in the buffer.
|
|
The maximum number of elements the buffer can contain.
|
|
If true then the sequence should release the buffer when it is destroyed.
|