Fast DDS  Version 3.1.0
Fast DDS
Loading...
Searching...
No Matches
StackAllocatedSequence< T, num_items > Struct Template Reference

A type-safe, ordered collection of elements allocated on the stack. More...

#include <StackAllocatedSequence.hpp>

Inheritance diagram for StackAllocatedSequence< T, num_items >:

Public Types

using size_type = LoanableCollection::size_type
 
using element_type = LoanableCollection::element_type
 
- Public Types inherited from LoanableCollection
using size_type = int32_t
 
using element_type = void *
 

Public Member Functions

 StackAllocatedSequence ()
 
 ~StackAllocatedSequence ()=default
 
 StackAllocatedSequence (const StackAllocatedSequence &)=delete
 
StackAllocatedSequenceoperator= (const StackAllocatedSequence &)=delete
 
 StackAllocatedSequence (StackAllocatedSequence &&)=delete
 
StackAllocatedSequenceoperator= (StackAllocatedSequence &&)=delete
 
- Public Member Functions inherited from LoanableTypedCollection< T, _NonConstEnabler >
template<typename Enabler = _NonConstEnabler>
std::enable_if< Enabler::value, T >::type & operator[] (size_type n)
 Set an element of the sequence.
 
const T & operator[] (size_type n) const
 Get an element of the sequence.
 
- Public Member Functions inherited from LoanableCollection
const element_typebuffer () const
 Get the pointer to the elements buffer.
 
bool has_ownership () const
 Get the ownership flag.
 
size_type maximum () const
 Get the maximum number of elements currently allocated.
 
size_type length () const
 Get the number of elements currently accessible.
 
bool length (size_type new_length)
 Set the number of elements currently accessible.
 
bool loan (element_type *buffer, size_type new_maximum, size_type new_length)
 Loan a buffer to the collection.
 
element_typeunloan (size_type &maximum, size_type &length)
 Remove the loan from the collection.
 
element_typeunloan ()
 Remove the loan from the collection.
 

Protected Member Functions

void resize (LoanableCollection::size_type new_length) override
 
- Protected Member Functions inherited from LoanableCollection
 LoanableCollection ()=default
 Default constructor.
 

Protected Attributes

size_type maximum_
 
size_type length_
 
element_typeelements_
 
bool has_ownership_
 
- Protected Attributes inherited from LoanableCollection
size_type maximum_ = 0
 
size_type length_ = 0
 
element_typeelements_ = nullptr
 
bool has_ownership_ = true
 

Detailed Description

template<typename T, LoanableCollection::size_type num_items>
struct eprosima::fastdds::dds::StackAllocatedSequence< T, num_items >

A type-safe, ordered collection of elements allocated on the stack.

Member Typedef Documentation

◆ element_type

◆ size_type

template<typename T , LoanableCollection::size_type num_items>
using size_type = LoanableCollection::size_type

Constructor & Destructor Documentation

◆ StackAllocatedSequence() [1/3]

template<typename T , LoanableCollection::size_type num_items>
StackAllocatedSequence ( )
inline

◆ ~StackAllocatedSequence()

template<typename T , LoanableCollection::size_type num_items>
~StackAllocatedSequence ( )
default

◆ StackAllocatedSequence() [2/3]

template<typename T , LoanableCollection::size_type num_items>
StackAllocatedSequence ( const StackAllocatedSequence< T, num_items > &  )
delete

◆ StackAllocatedSequence() [3/3]

template<typename T , LoanableCollection::size_type num_items>
StackAllocatedSequence ( StackAllocatedSequence< T, num_items > &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

template<typename T , LoanableCollection::size_type num_items>
StackAllocatedSequence & operator= ( const StackAllocatedSequence< T, num_items > &  )
delete

◆ operator=() [2/2]

template<typename T , LoanableCollection::size_type num_items>
StackAllocatedSequence & operator= ( StackAllocatedSequence< T, num_items > &&  )
delete

◆ resize()

template<typename T , LoanableCollection::size_type num_items>
void resize ( LoanableCollection::size_type  new_length)
inlineoverrideprotectedvirtual

Implements LoanableCollection.

Member Data Documentation

◆ elements_

template<typename T , LoanableCollection::size_type num_items>
element_type* elements_
protected

◆ has_ownership_

template<typename T , LoanableCollection::size_type num_items>
bool has_ownership_
protected

◆ length_

template<typename T , LoanableCollection::size_type num_items>
size_type length_
protected

◆ maximum_

template<typename T , LoanableCollection::size_type num_items>
size_type maximum_
protected

The documentation for this struct was generated from the following file: