Grok 20.3.2
grk::SharedPtrSeq< T > Struct Template Reference

Sequence of shared_ptr<T>. More...

#include <TPFetchSeq.h>

Public Types

using iterator = typename std::vector<std::shared_ptr<T>>::iterator
using const_iterator = typename std::vector<std::shared_ptr<T>>::const_iterator

Public Member Functions

std::shared_ptr< T > & operator[] (size_t index)
const std::shared_ptr< T > & operator[] (size_t index) const
iterator begin ()
 Returns iterator to beginning of sequence.
const_iterator end () const
 Returns const iterator to end of sequence.
bool empty () const
 Checks if there are no objects in store.
size_t size () const
 Returns number of objects in store.
void push_back (std::shared_ptr< T > ptr)
 Adds a pre-existing shared_ptr to the end of the sequence.
void resize (size_t N)
void clear ()

Private Attributes

std::vector< std::shared_ptr< T > > objStore_

Detailed Description

template<typename T>
struct grk::SharedPtrSeq< T >

Sequence of shared_ptr<T>.

Template Parameters
TThe type of elements to be stored as shared_ptr in the sequence

Member Typedef Documentation

◆ const_iterator

template<typename T>
using grk::SharedPtrSeq< T >::const_iterator = typename std::vector<std::shared_ptr<T>>::const_iterator

◆ iterator

template<typename T>
using grk::SharedPtrSeq< T >::iterator = typename std::vector<std::shared_ptr<T>>::iterator

Member Function Documentation

◆ begin()

template<typename T>
iterator grk::SharedPtrSeq< T >::begin ( )
inline

Returns iterator to beginning of sequence.

Returns
Iterator pointing to first shared_ptr

References objStore_.

◆ clear()

template<typename T>
void grk::SharedPtrSeq< T >::clear ( )
inline

References objStore_.

◆ empty()

template<typename T>
bool grk::SharedPtrSeq< T >::empty ( ) const
inline

Checks if there are no objects in store.

Returns
true if sequence is empty, false otherwise

References objStore_.

◆ end()

template<typename T>
const_iterator grk::SharedPtrSeq< T >::end ( ) const
inline

Returns const iterator to end of sequence.

Returns
Const iterator pointing past the last shared_ptr

References objStore_.

◆ operator[]() [1/2]

template<typename T>
std::shared_ptr< T > & grk::SharedPtrSeq< T >::operator[] ( size_t index)
inline

References objStore_.

◆ operator[]() [2/2]

template<typename T>
const std::shared_ptr< T > & grk::SharedPtrSeq< T >::operator[] ( size_t index) const
inline

References objStore_.

◆ push_back()

template<typename T>
void grk::SharedPtrSeq< T >::push_back ( std::shared_ptr< T > ptr)
inline

Adds a pre-existing shared_ptr to the end of the sequence.

Parameters
ptrThe shared_ptr to be added

References objStore_.

Referenced by grk::TPFetchSeq::push_back(), grk::TPFetchSeq::push_back(), and grk::TPSeq::push_back().

◆ resize()

template<typename T>
void grk::SharedPtrSeq< T >::resize ( size_t N)
inline

References objStore_.

◆ size()

template<typename T>
size_t grk::SharedPtrSeq< T >::size ( ) const
inline

Returns number of objects in store.

Returns
Current number of shared_ptr elements in the sequence

References objStore_.

Referenced by grk::CompressedChunkCache::calcSeqDataSize().

Member Data Documentation

◆ objStore_

template<typename T>
std::vector<std::shared_ptr<T> > grk::SharedPtrSeq< T >::objStore_
private

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