Public Methods |
| TAO_Unbounded_Sequence (void) |
| see TAO_Unbounded_Sequence in "Sequence_T.h". More...
|
| 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 > &) |
| 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. More...
|
TAO_Unbounded_Sequence< CORBA::Octet > & | operator= (const TAO_Unbounded_Sequence< CORBA::Octet > &) |
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. More...
|
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. More...
|
virtual void | _deallocate_buffer (void) |
| Must deallocate the buffer and then set it to zero. More...
|
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". More...
|
ACE_Message_Block * | mb (void) const |
| Returns the underlying message block, the caller must *not* release the copy. More...
|
| 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). More...
|
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. More...
|
Static Public Methods |
void | _tao_any_destructor (void *) |
| Use in the implementation of insertion and extraction operators from CORBA::Any. More...
|
CORBA::Octet * | allocbuf (CORBA::ULong) |
| Allocate storage for the sequence, please note that the storage is always held in a ACE_Message_Block. More...
|
void | freebuf (CORBA::Octet *) |
| Free the storage. More...
|
Private Attributes |
ACE_Message_Block * | mb_ |
Friends |
class | TAO_Marshal_Sequence |
| For efficient marshalling and demarshalling. More...
|
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.