Public Methods |
| 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::Octet& | operator[] (CORBA::ULong) |
const CORBA::Octet& | operator[] (CORBA::ULong) const |
virtual void | _allocate_buffer (CORBA::ULong length) |
| Implement the methods for all the sequence, please seee TAO_Base_Sequence.
|
virtual void | _deallocate_buffer (void) |
| Must deallocate the buffer and then set it to zero.
|
CORBA::Octet* | get_buffer (CORBA::Boolean orphan = 0) |
const CORBA::Octet* | get_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_Block* | mb (void) const |
| Returns the underlying message block, the caller must *not* release the copy.
|
| 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).
|
void | 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.
|
Static Public Methods |
void | _tao_any_destructor (void*) |
| Use in the implementation of insertion and extraction operators from CORBA::Any.
|
CORBA::Octet* | allocbuf (CORBA::ULong) |
| Allocate storage for the sequence, please note that the storage is always held in a ACE_Message_Block.
|
void | freebuf (CORBA::Octet *) |
| Free the storage.
|
Private Attributes |
ACE_Message_Block* | mb_ |
Friends |
class | TAO_Marshal_Sequence |
Marshalling and demarshalling octet sequences can be highly optimize, for instance at demarshalling we don't require a copy from the CDR buffer to the octet sequence buffer, we can simply hold a duplicate of the underlying ACE_Message_Block. Specializing the TAO_Unbounded_Sequence<T> parametric class, is an excellent way to achieve this optimizations.