#include <Unbounded_Octet_Sequence_T.h>

Public Types | |
| typedef CORBA::Octet | value_type |
| typedef CORBA::Octet | element_type |
| typedef CORBA::Octet const | const_value_type |
| typedef value_type & | subscript_type |
| typedef value_type const & | const_subscript_type |
| typedef ::CORBA::ULong | size_type |
| typedef details::unbounded_value_allocation_traits < value_type, true > | allocation_traits |
| typedef details::value_traits < value_type, true > | element_traits |
| typedef details::generic_sequence < value_type, allocation_traits, element_traits > | implementation_type |
| typedef details::range_checking < value_type, true > | range |
Public Member Functions | |
| unbounded_value_sequence () | |
| unbounded_value_sequence (CORBA::ULong maximum) | |
| unbounded_value_sequence (CORBA::ULong maximum, CORBA::ULong length, value_type *data, CORBA::Boolean release=false) | |
| ~unbounded_value_sequence () | |
| unbounded_value_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 message block). | |
| CORBA::ULong | maximum () const |
| CORBA::Boolean | release () const |
| CORBA::ULong | length () const |
| void | length (CORBA::ULong length) |
| value_type const & | operator[] (CORBA::ULong i) const |
| value_type & | operator[] (CORBA::ULong i) |
| void | replace (CORBA::ULong maximum, CORBA::ULong length, value_type *data, CORBA::Boolean release=false) |
| value_type const * | get_buffer () const |
| value_type * | get_buffer (CORBA::Boolean orphan=false) |
| bool | operator== (const unbounded_value_sequence< CORBA::Octet > &rhs) const |
| bool | operator!= (const unbounded_value_sequence< CORBA::Octet > &rhs) const |
| void | swap (unbounded_value_sequence &rhs) throw () |
| ACE_Message_Block * | mb (void) const |
| Returns the underlying message block, the caller must *not* /// release the copy. | |
| 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. | |
| unbounded_value_sequence (const unbounded_value_sequence< CORBA::Octet > &rhs) | |
| unbounded_value_sequence < CORBA::Octet > & | operator= (const unbounded_value_sequence< CORBA::Octet > &rhs) |
Static Public Member Functions | |
| static value_type * | allocbuf (CORBA::ULong maximum) |
| static void | freebuf (value_type *buffer) |
Private Attributes | |
| CORBA::ULong | maximum_ |
| The maximum number of elements the buffer can contain. | |
| CORBA::ULong | length_ |
| The current number of elements in the buffer. | |
| value_type * | 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. | |
| ACE_Message_Block * | mb_ |
Definition at line 34 of file Unbounded_Octet_Sequence_T.h.
| typedef details::unbounded_value_allocation_traits<value_type,true> TAO::unbounded_value_sequence< CORBA::Octet >::allocation_traits |
Definition at line 44 of file Unbounded_Octet_Sequence_T.h.
| typedef value_type const& TAO::unbounded_value_sequence< CORBA::Octet >::const_subscript_type |
Definition at line 41 of file Unbounded_Octet_Sequence_T.h.
| typedef CORBA::Octet const TAO::unbounded_value_sequence< CORBA::Octet >::const_value_type |
Definition at line 39 of file Unbounded_Octet_Sequence_T.h.
| typedef details::value_traits<value_type,true> TAO::unbounded_value_sequence< CORBA::Octet >::element_traits |
Definition at line 45 of file Unbounded_Octet_Sequence_T.h.
| typedef CORBA::Octet TAO::unbounded_value_sequence< CORBA::Octet >::element_type |
Definition at line 38 of file Unbounded_Octet_Sequence_T.h.
| typedef details::generic_sequence<value_type, allocation_traits, element_traits> TAO::unbounded_value_sequence< CORBA::Octet >::implementation_type |
Definition at line 46 of file Unbounded_Octet_Sequence_T.h.
| typedef details::range_checking<value_type,true> TAO::unbounded_value_sequence< CORBA::Octet >::range |
Definition at line 47 of file Unbounded_Octet_Sequence_T.h.
| typedef ::CORBA::ULong TAO::unbounded_value_sequence< CORBA::Octet >::size_type |
Definition at line 42 of file Unbounded_Octet_Sequence_T.h.
| typedef value_type& TAO::unbounded_value_sequence< CORBA::Octet >::subscript_type |
Definition at line 40 of file Unbounded_Octet_Sequence_T.h.
| typedef CORBA::Octet TAO::unbounded_value_sequence< CORBA::Octet >::value_type |
Definition at line 37 of file Unbounded_Octet_Sequence_T.h.
| TAO::unbounded_value_sequence< CORBA::Octet >::unbounded_value_sequence | ( | ) | [inline] |
| TAO::unbounded_value_sequence< CORBA::Octet >::unbounded_value_sequence | ( | CORBA::ULong | maximum | ) | [inline, explicit] |
| TAO::unbounded_value_sequence< CORBA::Octet >::unbounded_value_sequence | ( | CORBA::ULong | maximum, | |
| CORBA::ULong | length, | |||
| value_type * | data, | |||
| CORBA::Boolean | release = false | |||
| ) | [inline] |
| TAO::unbounded_value_sequence< CORBA::Octet >::~unbounded_value_sequence | ( | ) | [inline] |
| TAO::unbounded_value_sequence< CORBA::Octet >::unbounded_value_sequence | ( | CORBA::ULong | length, | |
| const ACE_Message_Block * | mb | |||
| ) | [inline] |
Create a sequence of octets from a single message block (i.e. it /// ignores any chaining in the message block).
| TAO::unbounded_value_sequence< CORBA::Octet >::unbounded_value_sequence | ( | const unbounded_value_sequence< CORBA::Octet > & | rhs | ) | [inline] |
| static value_type* TAO::unbounded_value_sequence< CORBA::Octet >::allocbuf | ( | CORBA::ULong | maximum | ) | [inline, static] |
Definition at line 235 of file Unbounded_Octet_Sequence_T.h.
{
return allocation_traits::allocbuf(maximum);
}
| static void TAO::unbounded_value_sequence< CORBA::Octet >::freebuf | ( | value_type * | buffer | ) | [inline, static] |
Definition at line 238 of file Unbounded_Octet_Sequence_T.h.
{
allocation_traits::freebuf(buffer);
}
| value_type* TAO::unbounded_value_sequence< CORBA::Octet >::get_buffer | ( | CORBA::Boolean | orphan = false |
) | [inline] |
Definition at line 183 of file Unbounded_Octet_Sequence_T.h.
| value_type const* TAO::unbounded_value_sequence< CORBA::Octet >::get_buffer | ( | ) | const [inline] |
| CORBA::ULong TAO::unbounded_value_sequence< CORBA::Octet >::length | ( | void | ) | const [inline] |
Definition at line 128 of file Unbounded_Octet_Sequence_T.h.
{
return length_;
}
| void TAO::unbounded_value_sequence< CORBA::Octet >::length | ( | CORBA::ULong | length | ) | [inline] |
Definition at line 131 of file Unbounded_Octet_Sequence_T.h.
{
if (length <= maximum_)
{
if (this->mb_ == 0)
{
length_ = length;
}
else
{
unbounded_value_sequence<CORBA::Octet> tmp(length);
tmp.length_ = length;
element_traits::copy_range(
buffer_,
buffer_ + length,
ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_));
swap(tmp);
}
return;
}
unbounded_value_sequence<CORBA::Octet> tmp(length);
tmp.length_ = length;
element_traits::copy_range(
buffer_,
buffer_ + length_,
ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_));
swap(tmp);
}
| CORBA::ULong TAO::unbounded_value_sequence< CORBA::Octet >::maximum | ( | ) | const [inline] |
Definition at line 122 of file Unbounded_Octet_Sequence_T.h.
{
return maximum_;
}
| ACE_Message_Block* TAO::unbounded_value_sequence< CORBA::Octet >::mb | ( | void | ) | const [inline] |
Returns the underlying message block, the caller must *not* /// release the copy.
Definition at line 244 of file Unbounded_Octet_Sequence_T.h.
{
return mb_;
}
| bool TAO::unbounded_value_sequence< CORBA::Octet >::operator!= | ( | const unbounded_value_sequence< CORBA::Octet > & | rhs | ) | const [inline] |
Definition at line 223 of file Unbounded_Octet_Sequence_T.h.
{
return !this->operator==(rhs);
}
| unbounded_value_sequence<CORBA::Octet>& TAO::unbounded_value_sequence< CORBA::Octet >::operator= | ( | const unbounded_value_sequence< CORBA::Octet > & | rhs | ) | [inline] |
Definition at line 293 of file Unbounded_Octet_Sequence_T.h.
{
unbounded_value_sequence<CORBA::Octet> tmp(rhs);
swap(tmp);
return * this;
}
| bool TAO::unbounded_value_sequence< CORBA::Octet >::operator== | ( | const unbounded_value_sequence< CORBA::Octet > & | rhs | ) | const [inline] |
Definition at line 210 of file Unbounded_Octet_Sequence_T.h.
{
unbounded_value_sequence<CORBA::Octet> const & lhs = *this;
CORBA::ULong const len = lhs.length();
// We use the subscript operator instead of get_buffer() to avoid a
// potential buffer allocation.
return
(len == rhs.length()
&& (len == 0
? true
: ACE_OS::memcmp(&lhs[0], &rhs[0], len) == 0));
}
| value_type const& TAO::unbounded_value_sequence< CORBA::Octet >::operator[] | ( | CORBA::ULong | i | ) | const [inline] |
Definition at line 159 of file Unbounded_Octet_Sequence_T.h.
{
range::check(i, length_, maximum_, "operator[]() const");
return buffer_[i];
}
| value_type& TAO::unbounded_value_sequence< CORBA::Octet >::operator[] | ( | CORBA::ULong | i | ) | [inline] |
Definition at line 163 of file Unbounded_Octet_Sequence_T.h.
{
range::check(i, length_, maximum_, "operator[]() non-const");
return buffer_[i];
}
| CORBA::Boolean TAO::unbounded_value_sequence< CORBA::Octet >::release | ( | void | ) | const [inline] |
Definition at line 125 of file Unbounded_Octet_Sequence_T.h.
{
return release_;
}
| void TAO::unbounded_value_sequence< CORBA::Octet >::replace | ( | CORBA::ULong | maximum, | |
| CORBA::ULong | length, | |||
| value_type * | data, | |||
| CORBA::Boolean | release = false | |||
| ) | [inline] |
Definition at line 167 of file Unbounded_Octet_Sequence_T.h.
| void TAO::unbounded_value_sequence< CORBA::Octet >::replace | ( | CORBA::ULong | length, | |
| const ACE_Message_Block * | mb | |||
| ) | [inline] |
Replaces the current buffer with mb, using only length bytes. /// It takes a duplicate of <mb> so the user still owns it.
Definition at line 250 of file Unbounded_Octet_Sequence_T.h.
{
unbounded_value_sequence<CORBA::Octet> s (length, mb);
swap (s);
}
| void TAO::unbounded_value_sequence< CORBA::Octet >::swap | ( | unbounded_value_sequence< CORBA::Octet > & | rhs | ) | throw () [inline] |
Definition at line 228 of file Unbounded_Octet_Sequence_T.h.
{
std::swap (mb_, rhs.mb_);
std::swap (maximum_, rhs.maximum_);
std::swap (length_, rhs.length_);
std::swap (buffer_, rhs.buffer_);
std::swap (release_, rhs.release_);
}
value_type* TAO::unbounded_value_sequence< CORBA::Octet >::buffer_ [mutable, private] |
The buffer with all the elements, casting must be done in derived /// classes.
Definition at line 309 of file Unbounded_Octet_Sequence_T.h.
CORBA::ULong TAO::unbounded_value_sequence< CORBA::Octet >::length_ [private] |
The current number of elements in the buffer.
Definition at line 305 of file Unbounded_Octet_Sequence_T.h.
CORBA::ULong TAO::unbounded_value_sequence< CORBA::Octet >::maximum_ [private] |
The maximum number of elements the buffer can contain.
Definition at line 302 of file Unbounded_Octet_Sequence_T.h.
ACE_Message_Block* TAO::unbounded_value_sequence< CORBA::Octet >::mb_ [private] |
Definition at line 314 of file Unbounded_Octet_Sequence_T.h.
CORBA::Boolean TAO::unbounded_value_sequence< CORBA::Octet >::release_ [mutable, private] |
If true then the sequence should release the buffer when it is /// destroyed.
Definition at line 313 of file Unbounded_Octet_Sequence_T.h.
1.7.0