22 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 24 const size_t init_size,
30 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 43 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 49 ,
ptrs_((maximum == 0) ? init_size : 0
58 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 73 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 86 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 112 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 123 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 130 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 137 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 145 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 152 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 157 if (
ptrs_[i]->registered_data_) {
158 return *
static_cast<const Sample_T*
>(
ptrs_[i]->registered_data_);
167 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 172 if (
ptrs_[i]->registered_data_) {
173 return *
static_cast<Sample_T*
>(
ptrs_[i]->registered_data_);
182 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 189 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 201 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 216 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 235 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 239 return new Sample_T[nelems];
243 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 250 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 265 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 273 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 281 --
ptrs_[ii]->zero_copy_cnt_;
282 ptrs_[ii]->dec_ref();
290 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE 298 template <
class Sample_T,
size_t DEF_MAX>
ACE_INLINE void swap(MessageBlock &lhs, MessageBlock &rhs)
size_type max_size(void) const
CORBA::Boolean sc_release_
#define TAO_BEGIN_VERSIONED_NAMESPACE_DECL
const Sample_T & operator[](CORBA::ULong i) const
ZeroCopyDataSeq & operator=(const ZeroCopyDataSeq &frm)
CORBA::ULong length() const
bool is_zero_copy() const
CORBA::ULong max_slots() const
CORBA::Boolean release() const
#define OPENDDS_ASSERT(C)
void swap(ZeroCopyVector &)
void swap(ACE_Array_Base< T > &array)
Ptr_Seq_Type ptrs_
array of pointers if the sequence is supporting zero-copy reads
void assign_ptr(CORBA::ULong ii, OpenDDS::DCPS::ReceivedDataElement *item)
void swap(ZeroCopyDataSeq &frm)
OpenDDS::DCPS::DataReaderImpl * loaner_
The loaner that loaned its samples.
OpenDDS::DCPS::ReceivedDataElement * get_ptr(CORBA::ULong ii) const
Implements the DDS::DataReader interface.
ACE_Allocator * allocator_
void make_single_copy(CORBA::ULong maximum)
static Sample_T * allocbuf(CORBA::ULong nelems)
void replace(CORBA::ULong max, CORBA::ULong length, Sample_T *buffer, CORBA::Boolean release=false)
static void freebuf(Sample_T *buffer)
const Sample_T * get_buffer() const
ZeroCopyDataSeq(CORBA::ULong maximum=0, CORBA::ULong init_size=DEF_MAX, ACE_Allocator *alloc=0)
ZeroCopyVector(const size_t init_size=DEF_MAX, ACE_Allocator *alloc=0)
void assign_sample(CORBA::ULong ii, const Sample_T &sample)
Atomic< long > zero_copy_cnt_
CORBA::ULong maximum() const
void internal_set_length(CORBA::ULong len)
void length(CORBA::ULong length)
#define TAO_END_VERSIONED_NAMESPACE_DECL
void resize(const size_t new_size, const T &t)
void set_loaner(OpenDDS::DCPS::DataReaderImpl *loaner)
The Internal API and Implementation of OpenDDS.
OpenDDS::DCPS::FirstTimeFastAllocator< OpenDDS::DCPS::ReceivedDataElement *, DEF_MAX > default_allocator_
the default allocator