| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
ResourceLimitedVector< _Ty, _KeepOrderEnabler, _LimitsConfig, _Alloc, _Collection > Class Template Reference
eProsima Fast DDS API Reference » Shared Utilities

Resource limited wrapper of std::vector. More...

`#include <ResourceLimitedVector.hpp>`

## Public Types

using | configuration_type = _LimitsConfig
using | collection_type = _Collection
using | value_type = _Ty
using | allocator_type = _Alloc
using | pointer = typename collection_type::pointer
using | const_pointer = typename collection_type::const_pointer
using | reference = typename collection_type::reference
using | const_reference = typename collection_type::const_reference
using | size_type = typename collection_type::size_type
using | difference_type = typename collection_type::difference_type
using | iterator = typename collection_type::iterator
using | const_iterator = typename collection_type::const_iterator
using | reverse_iterator = typename collection_type::reverse_iterator
using | const_reverse_iterator = typename collection_type::const_reverse_iterator

## Public Member Functions

| ResourceLimitedVector (configuration_type cfg=configuration_type(), const allocator_type &alloc=allocator_type())
| Construct a ResourceLimitedVector.
| ResourceLimitedVector (const ResourceLimitedVector &other)
virtual | ~ResourceLimitedVector ()=default
ResourceLimitedVector & | operator= (const ResourceLimitedVector &other)
iterator | insert (const_iterator pos, const value_type &value)
| Insert value before pos.
iterator | insert (const_iterator pos, value_type &&value)
| Insert value before pos.
pointer | push_back (const value_type &val)
| Add element at the end.
pointer | push_back (value_type &&val)
| Add element at the end.
template<typename ... Args>
pointer | emplace_back (Args &&... args)
| Construct and insert element at the end.
bool | remove (const value_type &val)
| Remove element.
template<class UnaryPredicate>
bool | remove_if (UnaryPredicate pred)
| Remove element.
bool | contains (const value_type &val)
| Contains element.
template<class InputIterator>
void | assign (InputIterator first, InputIterator last)
| Assign vector content.
void | assign (size_type n, const value_type &val)
| Assign vector content.
void | assign (std::initializer_list< value_type > il)
| Assign vector content.
| operator const collection_type & () const noexcept
| Const cast to underlying collection.
reference | at (size_type pos)
| Wrappers to other basic vector methods.
const_reference | at (size_type pos) const
reference | operator[] (size_type pos)
const_reference | operator[] (size_type pos) const
reference | front ()
const_reference | front () const
reference | back ()
const_reference | back () const
iterator | begin () noexcept
const_iterator | begin () const noexcept
const_iterator | cbegin () const noexcept
iterator | end () noexcept
const_iterator | end () const noexcept
const_iterator | cend () const noexcept
reverse_iterator | rbegin () noexcept
const_reverse_iterator | rbegin () const noexcept
const_reverse_iterator | crbegin () const noexcept
reverse_iterator | rend () noexcept
const_reverse_iterator | rend () const noexcept
const_reverse_iterator | crend () const noexcept
bool | empty () const noexcept
size_type | size () const noexcept
size_type | capacity () const noexcept
size_type | max_size () const noexcept
void | clear ()
iterator | erase (const_iterator pos)
iterator | erase (const_iterator first, const_iterator last)
void | pop_back ()
value_type * | data ()
const value_type * | data () const

## Protected Member Functions

bool | ensure_capacity ()
| Make room for one item.
template<typename Enabler = _KeepOrderEnabler>
std::enable_if<!Enabler::value, void >::type | do_remove (iterator it)
| Remove element.
template<typename Enabler = _KeepOrderEnabler>
std::enable_if< Enabler::value, void >::type | do_remove (iterator it)
| Remove element.

## Protected Attributes

configuration_type | configuration_
collection_type | collection_

## Detailed Description

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
class eprosima::fastdds::ResourceLimitedVector< _Ty, _KeepOrderEnabler, _LimitsConfig, _Alloc, _Collection >

Resource limited wrapper of std::vector.

This template class holds an unordered collection of elements using a std::vector or a replacement. It makes use of a ResourceLimitedContainerConfig to setup the allocation behaviour regarding the number of elements in the collection.

It features linear increment of the capacity, initial preallocation, and maximum number of elements control.

Template Parameters

  _Ty | Element type.
  _KeepOrderEnabler | Indicates if element order should be kept when removing items, defaults to std::false_type.
  _LimitsConfig | Type defining the resource limits configuration, defaults to ResourceLimitedContainerConfig
  _Alloc | Allocator to use on the underlying collection type, defaults to std::allocator<_Ty>.
  _Collection | Type used to store the collection of items, defaults to std::vector<_Ty, _Alloc>.

## Member Typedef Documentation

## ◆ allocator_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using allocator_type = _Alloc

## ◆ collection_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using collection_type = _Collection

## ◆ configuration_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using configuration_type = _LimitsConfig

## ◆ const_iterator

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using const_iterator = typename collection_type::const_iterator

## ◆ const_pointer

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using const_pointer = typename collection_type::const_pointer

## ◆ const_reference

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using const_reference = typename collection_type::const_reference

## ◆ const_reverse_iterator

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using const_reverse_iterator = typename collection_type::const_reverse_iterator

## ◆ difference_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using difference_type = typename collection_type::difference_type

## ◆ iterator

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using iterator = typename collection_type::iterator

## ◆ pointer

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using pointer = typename collection_type::pointer

## ◆ reference

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using reference = typename collection_type::reference

## ◆ reverse_iterator

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using reverse_iterator = typename collection_type::reverse_iterator

## ◆ size_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using size_type = typename collection_type::size_type

## ◆ value_type

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

using value_type = _Ty

## Constructor & Destructor Documentation

## ◆ ResourceLimitedVector() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

ResourceLimitedVector | ( | configuration_type | cfg = configuration_type(),
|  | const allocator_type & | alloc = allocator_type() )

inline

Construct a ResourceLimitedVector.

This constructor receives a ResourceLimitedContainerConfig to setup the allocation behaviour regarding the number of elements in the collection.

The cfg parameter indicates the initial number to be reserved, the maximum number of items allowed, and the capacity increment value.

Parameters

  cfg | Resource limits configuration to use.
  alloc | Allocator object. Forwarded to collection constructor.

## ◆ ResourceLimitedVector() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

ResourceLimitedVector | ( | const ResourceLimitedVector< _Ty, _KeepOrderEnabler, _LimitsConfig, _Alloc, _Collection > & | other | ) |

inline

## ◆ ~ResourceLimitedVector()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

virtual ~ResourceLimitedVector | ( |  | ) |

virtual default

## Member Function Documentation

## ◆ assign() [1/3]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
template<class InputIterator>

void assign | ( | InputIterator | first,
|  | InputIterator | last )

inline

Assign vector content.

Assigns new contents to the vector, replacing its current contents, and modifying its size accordingly.

Parameters

  first,last

  Input iterators to the initial and final positions in a sequence. The range used is [first,last), which includes all the elements between first and last, including the element pointed by first but not the element pointed by last. The function template argument InputIterator shall be an input iterator type that points to elements of a type from which value_type objects can be constructed. If the size of this range is greater than the maximum number of elements allowed on the resource limits configuration, the elements exceeding that maximum will be silently discarded.

## ◆ assign() [2/3]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

void assign | ( | size_type | n,
|  | const value_type & | val )

inline

Assign vector content.

Assigns new contents to the vector, replacing its current contents, and modifying its size accordingly.

Parameters

  n | New size for the container. Will be truncated if greater than the maximum allowed on the resource limits configuration.
  val | Value to fill the container with. Each of the n elements in the container will be initialized to a copy of this value.

## ◆ assign() [3/3]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

void assign | ( | std::initializer_list< value_type > | il | ) |

inline

Assign vector content.

Assigns new contents to the vector, replacing its current contents, and modifying its size accordingly.

Parameters

  il | An initializer_list object. The compiler will automatically construct such objects from initializer list declarators. Member type value_type is the type of the elements in the container. If the size of this list is greater than the maximum number of elements allowed on the resource limits configuration, the elements exceeding that maximum will be silently discarded.

## ◆ at() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reference at | ( | size_type | pos | ) |

inline

Wrappers to other basic vector methods.

Please refer to https://en.cppreference.com/w/cpp/container/vector

## ◆ at() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reference at | ( | size_type | pos | ) | const

inline

## ◆ back() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reference back | ( |  | ) |

inline

## ◆ back() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reference back | ( |  | ) | const

inline

## ◆ begin() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_iterator begin | ( |  | ) | const

inline noexcept

## ◆ begin() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator begin | ( |  | ) |

inline noexcept

## ◆ capacity()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

size_type capacity | ( |  | ) | const

inline noexcept

## ◆ cbegin()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_iterator cbegin | ( |  | ) | const

inline noexcept

## ◆ cend()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_iterator cend | ( |  | ) | const

inline noexcept

## ◆ clear()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

void clear | ( |  | ) |

inline

## ◆ contains()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

bool contains | ( | const value_type & | val | ) |

inline

Contains element.

Checks whether the given element is present in the collection (at least once).

Parameters

  val | Value to look for.

Returns
  true if the element is present in the collection (at least once), false otherwise.

## ◆ crbegin()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reverse_iterator crbegin | ( |  | ) | const

inline noexcept

## ◆ crend()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reverse_iterator crend | ( |  | ) | const

inline noexcept

## ◆ data() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

value_type * data | ( |  | ) |

inline

## ◆ data() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const value_type * data | ( |  | ) | const

inline

## ◆ do_remove() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
template<typename Enabler = _KeepOrderEnabler>

std::enable_if< Enabler::value, void >::type do_remove | ( | iterator | it | ) |

inline protected

Remove element.

Removes the element pointed to by it. All iterators may become invalidated. This version keeps the order of insertion, so when removing an item different from the last one, part of the collection will be copied.

Parameters

  it | Iterator pointing to the item to be removed.

## ◆ do_remove() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
template<typename Enabler = _KeepOrderEnabler>

std::enable_if<!Enabler::value, void >::type do_remove | ( | iterator | it | ) |

inline protected

Remove element.

Removes the element pointed to by it. All iterators may become invalidated. This version doesn't keep the order of insertion, optimizing the number of copies performed.

Parameters

  it | Iterator pointing to the item to be removed.

## ◆ emplace_back()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
template<typename ... Args>

pointer emplace_back | ( | Args &&... | args | ) |

inline

Construct and insert element at the end.

Inserts a new element at the end of the vector, right after its current last element. This new element is constructed in place using args as the arguments for its constructor.

Parameters

  args | Arguments forwarded to construct the new element.

Returns
  pointer to the new element, nullptr if resource limit is reached.

## ◆ empty()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

bool empty | ( |  | ) | const

inline noexcept

## ◆ end() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_iterator end | ( |  | ) | const

inline noexcept

## ◆ end() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator end | ( |  | ) |

inline noexcept

## ◆ ensure_capacity()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

bool ensure_capacity | ( |  | ) |

inline protected

Make room for one item.

Tries to ensure that a new item can be added to the container.

Returns
  true if there is room for a new item, false if resource limit is reached.

## ◆ erase() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator erase | ( | const_iterator | first,
|  | const_iterator | last )

inline

## ◆ erase() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator erase | ( | const_iterator | pos | ) |

inline

## ◆ front() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reference front | ( |  | ) |

inline

## ◆ front() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reference front | ( |  | ) | const

inline

## ◆ insert() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator insert | ( | const_iterator | pos,
|  | const value_type & | value )

inline

Insert value before pos.

Parameters

  pos | iterator before which the content will be inserted. pos may be the end() iterator.
  value | element value to insert.

Returns
  Iterator pointing to the inserted value. end() if insertion couldn't be done due to collection limits.

## ◆ insert() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

iterator insert | ( | const_iterator | pos,
|  | value_type && | value )

inline

Insert value before pos.

Parameters

  pos | iterator before which the content will be inserted. pos may be the end() iterator.
  value | element value to insert.

Returns
  Iterator pointing to the inserted value. end() if insertion couldn't be done due to collection limits.

## ◆ max_size()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

size_type max_size | ( |  | ) | const

inline noexcept

## ◆ operator const collection_type &()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

operator const collection_type & | ( |  | ) | const

inline noexcept

Const cast to underlying collection.

Useful to easy integration on old APIs where a traditional container was used.

Returns
  const reference to the underlying collection.

## ◆ operator=()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

ResourceLimitedVector & operator= | ( | const ResourceLimitedVector< _Ty, _KeepOrderEnabler, _LimitsConfig, _Alloc, _Collection > & | other | ) |

inline

## ◆ operator[]() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reference operator[] | ( | size_type | pos | ) |

inline

## ◆ operator[]() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reference operator[] | ( | size_type | pos | ) | const

inline

## ◆ pop_back()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

void pop_back | ( |  | ) |

inline

## ◆ push_back() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

pointer push_back | ( | const value_type & | val | ) |

inline

Add element at the end.

Adds a new element at the end of the vector, after its current last element. The content of val is copied to the new element.

Parameters

  val | Value to be copied to the new element.

Returns
  pointer to the new element, nullptr if resource limit is reached.

## ◆ push_back() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

pointer push_back | ( | value_type && | val | ) |

inline

Add element at the end.

Adds a new element at the end of the vector, after its current last element. The content of val is moved to the new element.

Parameters

  val | Value to be moved to the new element.

Returns
  pointer to the new element, nullptr if resource limit is reached.

## ◆ rbegin() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reverse_iterator rbegin | ( |  | ) | const

inline noexcept

## ◆ rbegin() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reverse_iterator rbegin | ( |  | ) |

inline noexcept

## ◆ remove()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

bool remove | ( | const value_type & | val | ) |

inline

Remove element.

Removes the first element in the vector that compares equal to val. All iterators may become invalidated if this method returns true.

Parameters

  val | Value to be compared.

Returns
  true if an element was removed, false otherwise.

## ◆ remove_if()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>
template<class UnaryPredicate>

bool remove_if | ( | UnaryPredicate | pred | ) |

inline

Remove element.

Removes the first element in the vector for which pred returns true. All iterators may become invalidated if this method returns true.

Parameters

  pred | Unary function that accepts an element in the range as argument and returns a value convertible to bool. The value returned indicates whether the element is considered a match in the context of this function. The function shall not modify its argument. This can either be a function pointer or a function object.

Returns
  true if an element was removed, false otherwise.

## ◆ rend() [1/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

const_reverse_iterator rend | ( |  | ) | const

inline noexcept

## ◆ rend() [2/2]

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

reverse_iterator rend | ( |  | ) |

inline noexcept

## ◆ size()

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

size_type size | ( |  | ) | const

inline noexcept

## Member Data Documentation

## ◆ collection_

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

collection_type collection_

protected

## ◆ configuration_

template<typename _Ty, typename _KeepOrderEnabler = std::false_type, typename _LimitsConfig = ResourceLimitedContainerConfig, typename _Alloc = std::allocator<_Ty>, typename _Collection = std::vector<_Ty, _Alloc>>

configuration_type configuration_

protected

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

- include/fastdds/utils/collections/ResourceLimitedVector.hpp