Maps SDK for C++ 1.0.0
Loading...
Searching...
No Matches
gem::SearchableParameterList Class Reference

Searchable parameters list. More...

Inheritance diagram for gem::SearchableParameterList:
Collaboration diagram for gem::SearchableParameterList:

Public Member Functions

 SearchableParameterList (const SearchableParameterList &paramList)=default
 Default copy constructor.
 SearchableParameterList (SearchableParameterList &&paramList)=default
 Default move constructor.
SearchableParameterList & operator= (const SearchableParameterList &paramList)=default
 Copy assignment operator.
SearchableParameterList & operator= (SearchableParameterList &&paramList)=default
 Move assignment operator.
bool operator== (const Base &list) const noexcept
 equality operator
bool operator!= (const Base &list) const noexcept
 inequality operator
bool operator== (const SearchableParameterList &list) const noexcept
 equality operator
bool operator!= (const SearchableParameterList &list) const noexcept
 inequality operator
ParameterList findAll (const String &key) const noexcept
 Search for all occurrences of a parameter identifier in a list.
template<typename T>
std::pair< T, StringReffind (const String &key) const noexcept
 Search for first occurrence of a parameter identifier and get value.
Parameter findParameter (const String &key) const noexcept
 Search for first occurrence of a parameter identifier.
Parameter operator[] (const String &key) const noexcept
 Search operator for first occurrence of a parameter identifier.
Std::const_reference operator[] (typename Std::size_type pos) const
 const index operator
bool operator== (const List &list) const
 Comparison equal.
bool operator!= (const List &list) const
 Comparison not equal.
bool equals (const List &list, TPredicate pred) const
 Comparison equal.
void assign (typename Std::size_type count, const Parameter &value)
 std::vector interface Assign count and value
void assign (It first, It last)
 Assign iterator first, iterator last.
Std::reference at_nc (typename Std::size_type pos)
 non-const at()
Std::const_reference at (typename Std::size_type pos) const
 const at()
Std::reference front_nc ()
 non-const front()
Std::const_reference front () const
 const front()
Std::reference back_nc ()
 non-const back()
Std::const_reference back () const
 const back()
Std::iterator begin_nc () noexcept
 non-const begin()
Std::const_iterator begin () const noexcept
 const begin()
Std::iterator end_nc () noexcept
 non-const end()
Std::const_iterator end () const noexcept
 const end()
Std::reverse_iterator rbegin_nc () noexcept
 non-const rbegin()
Std::const_reverse_iterator rbegin () const noexcept
 const rbegin()
Std::reverse_iterator rend_nc () noexcept
 non-const rend()
Std::const_reverse_iterator rend () const noexcept
 const rend()
bool empty () const noexcept
 empty()
Std::size_type size () const noexcept
 size()
Std::size_type max_size () const noexcept
 max_size()
void reserve (typename Std::size_type sz)
 reserve()
Std::size_type capacity () const noexcept
 capacity()
void clear () noexcept
 clear()
Std::iterator insert (typename Std::const_iterator pos, const Parameter &value)
 insert
Std::iterator insert (typename Std::const_iterator pos, Parameter &&value)
 insert
Std::iterator insert (typename Std::const_iterator pos, typename Std::size_type count, const Parameter &value)
 insert
Std::iterator insert (typename Std::const_iterator pos, typename Std::size_type count, Parameter &&value)
 insert
Std::iterator insert (typename Std::const_iterator pos, It first, It last)
 insert
Std::iterator insert (typename Std::const_iterator pos, std::initializer_list< Parameter > ilist)
 insert
Std::iterator emplace (typename Std::const_iterator pos, Args &&... args)
 emplace
Std::iterator erase (typename Std::const_iterator pos)
 erase
Std::iterator erase (typename Std::const_iterator first, typename Std::const_iterator last)
 erase
void push_back (const Parameter &value)
 push_back const value
void push_back (Parameter &&value)
 push_back
void emplace_back (Args &&... args)
 emplace_back
void pop_back ()
 pop_back
void resize (typename Std::size_type count)
 resize
void resize (typename Std::size_type count, const Parameter &value)
 resize
void resize (typename Std::size_type count, Parameter &&value)
 resize
void swap (Std &other) noexcept
 swap
void swap (List &other) noexcept
 swap
StdtoStd ()
 Conversion to std::vector from const object.
const StdtoStd () const
 Conversion to const std::vector from const object.
const StdtoCStd ()
 Conversion to const std::vector container.

Protected Types

using Api
 typedef for the Api interface
using Std
 typedef for the std::vector

Detailed Description

Searchable parameters list.

Implements share-read / copy-on-write Api object over IParameter. Container for different types of values.

Constructor & Destructor Documentation

◆ SearchableParameterList() [1/2]

gem::SearchableParameterList::SearchableParameterList ( const SearchableParameterList & paramList)
default

Default copy constructor.

Parameters
[in]paramListParameter list to copy

◆ SearchableParameterList() [2/2]

gem::SearchableParameterList::SearchableParameterList ( SearchableParameterList && paramList)
default

Default move constructor.

Parameters
paramListParameter list to move

Member Function Documentation

◆ assign() [1/2]

void gem::List< Parameter, typename >::assign ( It first,
It last )
inlineinherited

Assign iterator first, iterator last.

Parameters
[in]firstIterator to the first element
[in]lastIterator to the last element
Template Parameters
ItIterator type

◆ assign() [2/2]

void gem::List< Parameter, typename >::assign ( typename Std::size_type count,
const Parameter & value )
inlineinherited

std::vector interface Assign count and value

Parameters
[in]countNumber of elements to assign
[in]valueValue to assign

◆ at()

Std::const_reference gem::List< Parameter, typename >::at ( typename Std::size_type pos) const
inlineinherited

const at()

Parameters
[in]posPosition of the element
Returns
Reference to the element

◆ at_nc()

Std::reference gem::List< Parameter, typename >::at_nc ( typename Std::size_type pos)
inlineinherited

non-const at()

Parameters
[in]posPosition of the element
Returns
Reference to the element

◆ back()

Std::const_reference gem::List< Parameter, typename >::back ( ) const
inlineinherited

const back()

Returns
Reference to the back element

◆ back_nc()

Std::reference gem::List< Parameter, typename >::back_nc ( )
inlineinherited

non-const back()

Returns
Reference to the back element

◆ begin()

Std::const_iterator gem::List< Parameter, typename >::begin ( ) const
inlinenoexceptinherited

const begin()

Returns
Iterator to the first element

◆ begin_nc()

Std::iterator gem::List< Parameter, typename >::begin_nc ( )
inlinenoexceptinherited

non-const begin()

Returns
Iterator to the first element

◆ capacity()

Std::size_type gem::List< Parameter, typename >::capacity ( ) const
inlinenoexceptinherited

capacity()

Returns
Number of elements the list can hold without reallocation

◆ clear()

void gem::List< Parameter, typename >::clear ( )
inlinenoexceptinherited

clear()

Removes all elements from the list

◆ emplace()

Std::iterator gem::List< Parameter, typename >::emplace ( typename Std::const_iterator pos,
Args &&... args )
inlineinherited

emplace

Parameters
[in]posIterator to the position to insert
[in]argsArguments to forward to the constructor
Template Parameters
ArgsArguments type
Returns
Iterator to the inserted element

◆ emplace_back()

void gem::List< Parameter, typename >::emplace_back ( Args &&... args)
inlineinherited

emplace_back

Parameters
[in]argsArguments to forward to the constructor
Template Parameters
ArgsArguments type

Adds a new element at the end of the list

◆ empty()

bool gem::List< Parameter, typename >::empty ( ) const
inlinenoexceptinherited

empty()

Returns
True if the list is empty, false otherwise

◆ end()

Std::const_iterator gem::List< Parameter, typename >::end ( ) const
inlinenoexceptinherited

const end()

Returns
Iterator to the end element

◆ end_nc()

Std::iterator gem::List< Parameter, typename >::end_nc ( )
inlinenoexceptinherited

non-const end()

Returns
Iterator to the end element

◆ equals()

bool gem::List< Parameter, typename >::equals ( const List< Parameter > & list,
TPredicate pred ) const
inlineinherited

Comparison equal.

Parameters
[in]listList object to compare
[in]predThe predicate used in comparing
Returns
True if the lists are equal, false otherwise

◆ erase() [1/2]

Std::iterator gem::List< Parameter, typename >::erase ( typename Std::const_iterator first,
typename Std::const_iterator last )
inlineinherited

erase

Parameters
[in]firstIterator to the first element to erase
[in]lastIterator to the last element to erase
Returns
Iterator to the element following the last removed element

Erases the elements in the range [first, last)

◆ erase() [2/2]

Std::iterator gem::List< Parameter, typename >::erase ( typename Std::const_iterator pos)
inlineinherited

erase

Parameters
[in]posIterator to the element to erase
Returns
Iterator to the element following the last removed element

◆ find()

template<typename T>
std::pair< T, StringRef > gem::SearchableParameterList::find ( const String & key) const
inlinenoexcept

Search for first occurrence of a parameter identifier and get value.

Parameters
[in]keyParameter key
Returns
Pair of value and name

◆ findAll()

ParameterList gem::SearchableParameterList::findAll ( const String & key) const
inlinenoexcept

Search for all occurrences of a parameter identifier in a list.

Parameters
[in]keyParameter key
Returns
List of parameters

◆ findParameter()

Parameter gem::SearchableParameterList::findParameter ( const String & key) const
inlinenoexcept

Search for first occurrence of a parameter identifier.

Parameters
[in]keyParameter key
Returns
Parameter object

◆ front()

Std::const_reference gem::List< Parameter, typename >::front ( ) const
inlineinherited

const front()

Returns
Reference to the front element

◆ front_nc()

Std::reference gem::List< Parameter, typename >::front_nc ( )
inlineinherited

non-const front()

Returns
Reference to the front element

◆ insert() [1/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
const Parameter & value )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]valueValue to insert
Returns
Iterator to the inserted element

◆ insert() [2/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
It first,
It last )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]firstIterator to the first element to insert
[in]lastIterator to the last element to insert
Template Parameters
ItIterator type
Returns
Iterator to the first inserted element

◆ insert() [3/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
Parameter && value )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]valueValue to insert
Returns
Iterator to the inserted element

◆ insert() [4/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
std::initializer_list< Parameter > ilist )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]ilistInitializer list
Returns
Iterator to the first inserted element

◆ insert() [5/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
typename Std::size_type count,
const Parameter & value )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]countNumber of elements to insert
[in]valueValue to insert
Returns
Iterator to the first inserted element

◆ insert() [6/6]

Std::iterator gem::List< Parameter, typename >::insert ( typename Std::const_iterator pos,
typename Std::size_type count,
Parameter && value )
inlineinherited

insert

Parameters
[in]posIterator to the position to insert
[in]countNumber of elements to insert
[in]valueValue to insert
Returns
Iterator to the first inserted element

◆ max_size()

Std::size_type gem::List< Parameter, typename >::max_size ( ) const
inlinenoexceptinherited

max_size()

Returns
Maximum number of elements the list can hold

◆ operator!=() [1/3]

bool gem::List< Parameter, typename >::operator!= ( const List< Parameter > & list) const
inlineinherited

Comparison not equal.

Parameters
[in]listList object to compare
Returns
True if the lists are not equal, false otherwise

◆ operator!=() [2/3]

bool gem::SearchableParameterList::operator!= ( const Base & list) const
inlinenoexcept

inequality operator

Parameters
listList to compare
Returns
True if the lists are not equal

◆ operator!=() [3/3]

bool gem::SearchableParameterList::operator!= ( const SearchableParameterList & list) const
inlinenoexcept

inequality operator

Parameters
listList to compare
Returns
True if the lists are not equal

◆ operator=() [1/2]

SearchableParameterList & gem::SearchableParameterList::operator= ( const SearchableParameterList & paramList)
default

Copy assignment operator.

Parameters
[in]paramListParameter list to copy
Returns
Reference to this object

◆ operator=() [2/2]

SearchableParameterList & gem::SearchableParameterList::operator= ( SearchableParameterList && paramList)
default

Move assignment operator.

Parameters
paramListParameter list to move
Returns
Reference to this object

◆ operator==() [1/3]

bool gem::List< Parameter, typename >::operator== ( const List< Parameter > & list) const
inlineinherited

Comparison equal.

Parameters
[in]listList object to compare
Returns
True if the lists are equal, false otherwise

◆ operator==() [2/3]

bool gem::SearchableParameterList::operator== ( const Base & list) const
inlinenoexcept

equality operator

Parameters
[in]listList to compare
Returns
True if the lists are equal

◆ operator==() [3/3]

bool gem::SearchableParameterList::operator== ( const SearchableParameterList & list) const
inlinenoexcept

equality operator

Parameters
listList to compare
Returns
True if the lists are equal

◆ operator[]() [1/2]

Parameter gem::SearchableParameterList::operator[] ( const String & key) const
inlinenoexcept

Search operator for first occurrence of a parameter identifier.

Parameters
[in]keyParameter key
Returns
Parameter object

◆ operator[]() [2/2]

Std::const_reference gem::List< Parameter, typename >::operator[] ( typename Std::size_type pos) const
inline

const index operator

Parameters
[in]posPosition of the element
Returns
Reference to the element

◆ pop_back()

void gem::List< Parameter, typename >::pop_back ( )
inlineinherited

pop_back

Removes the last element of the list

◆ push_back() [1/2]

void gem::List< Parameter, typename >::push_back ( const Parameter & value)
inlineinherited

push_back const value

Parameters
[in]valueValue to push back (read-only)

Adds a new element at the end of the list

◆ push_back() [2/2]

void gem::List< Parameter, typename >::push_back ( Parameter && value)
inlineinherited

push_back

Parameters
[in]valueValue to push back

Adds a new element at the end of the list

◆ rbegin()

Std::const_reverse_iterator gem::List< Parameter, typename >::rbegin ( ) const
inlinenoexceptinherited

const rbegin()

Returns
Reverse iterator to the first element

◆ rbegin_nc()

Std::reverse_iterator gem::List< Parameter, typename >::rbegin_nc ( )
inlinenoexceptinherited

non-const rbegin()

Returns
Reverse iterator to the first element

◆ rend()

Std::const_reverse_iterator gem::List< Parameter, typename >::rend ( ) const
inlinenoexceptinherited

const rend()

Returns
Reverse iterator to the end element

◆ rend_nc()

Std::reverse_iterator gem::List< Parameter, typename >::rend_nc ( )
inlinenoexceptinherited

non-const rend()

Returns
Reverse iterator to the end element

◆ reserve()

void gem::List< Parameter, typename >::reserve ( typename Std::size_type sz)
inlineinherited

reserve()

Parameters
[in]szNumber of elements to reserve

◆ resize() [1/3]

void gem::List< Parameter, typename >::resize ( typename Std::size_type count)
inlineinherited

resize

Parameters
[in]countNew size of the list

Resizes the list to contain count elements

◆ resize() [2/3]

void gem::List< Parameter, typename >::resize ( typename Std::size_type count,
const Parameter & value )
inlineinherited

resize

Parameters
[in]countNew size of the list
[in]valueValue to insert

◆ resize() [3/3]

void gem::List< Parameter, typename >::resize ( typename Std::size_type count,
Parameter && value )
inlineinherited

resize

Parameters
[in]countNew size of the list
[in]valueValue to insert

◆ size()

Std::size_type gem::List< Parameter, typename >::size ( ) const
inlinenoexceptinherited

size()

Returns
Number of elements in the list

◆ swap() [1/2]

void gem::List< Parameter, typename >::swap ( List< Parameter > & other)
inlinenoexceptinherited

swap

Parameters
[in]otherList to swap with

Swaps the contents of the list with the contents of other

◆ swap() [2/2]

void gem::List< Parameter, typename >::swap ( Std & other)
inlinenoexceptinherited

swap

Parameters
[in]otherList to swap with

Swaps the contents of the list with the contents of other

◆ toCStd()

const Std & gem::List< Parameter, typename >::toCStd ( )
inlineinherited

Conversion to const std::vector container.

Returns
Reference to the std::vector container

This method is const, and can be used to get a const reference to the std::vector container

◆ toStd() [1/2]

Std & gem::List< Parameter, typename >::toStd ( )
inlineinherited

Conversion to std::vector from const object.

Returns
Reference to the std::vector container

◆ toStd() [2/2]

const Std & gem::List< Parameter, typename >::toStd ( ) const
inlineinherited

Conversion to const std::vector from const object.

Returns
Reference to the std::vector container

This method is const, and can be used to get a const reference to the std::vector container