![]() |
Scanframe Modular Application 0.1.0
|
Interface class for managing an indexed lists. Sends out events when about to change and when changed using sf::TClosure instances. More...
#include <TTypedList.h>
Public Types | |
typedef ssize_t | index_type |
Type of the indices used by this class. | |
typedef T | value_type |
Type of the stored values. | |
Public Member Functions | |
TTypedList ()=default | |
Default constructor. | |
virtual | ~TTypedList ()=default |
Virtual destructor. | |
virtual ssize_t | add (const value_type &value) |
Adds an integer to the end of the list. | |
void | assign (std::initializer_list< value_type > list) |
Assigns a list of values to the list. | |
void | assign (const TTypedList &other) |
Assign the values from the other typed list. | |
virtual void | exchange (index_type from_index, index_type to_index) |
Swap underling index positions. | |
void | clear () |
Clears the all items from the store. | |
virtual void | remove (index_type index, index_type sz) |
Removes the item at the position given by the index argument. When the underlying list is static do not implement. | |
bool | isEqual (const TTypedList &other) const |
Compares the other list with this one. | |
bool | operator== (const TTypedList &other) const |
Equal operator calling isEqual(). | |
bool | operator!= (const TTypedList &other) const |
Equal operator calling isEqual(). | |
index_type | indexOf (const value_type &value) const |
Gets the found index of the given value in the list. | |
void | set (index_type index, const value_type &value) |
Sets an entry value using the given index position. | |
value_type | get (index_type index) const |
Gets the const entry reference from the given index position. | |
value_type | operator[] (index_type index) const |
Const array operator calling get(). | |
virtual index_type | size () const =0 |
Gets the size of the underlying data store. | |
virtual void | resize (index_type) |
Resizes the underlying store. When the store is static do not override it. | |
S | toString (const S &separator={}) const |
Gets the values as a string separated by the given separator. | |
void | fromString (const S &str, value_type def={}, const S &separator={}) |
Gets the values as a string separated by the given separator. | |
virtual void | beginChange () |
Enables to track when the list of strings is changing. Can be overloaded when needed for change event optimization. | |
virtual void | endChange () |
Enables the to keep track of when the list has finished changing. Can be overloaded when needed for change event optimization. | |
Public Attributes | |
TClosure< void, void * > | onChanging |
Event callback function for when a change is about to happen. | |
TClosure< void, void * > | onChanged |
Event callback function for when a change is done. | |
Static Public Attributes | |
static constexpr index_type | npos {-1} |
Value for no index position. | |
Protected Member Functions | |
void | checkIndex (index_type index) const |
Checks the validity of the passed index and when not valid throws an exception. | |
virtual value_type | store (index_type index, const value_type *value=nullptr)=0 |
Handles Accesses the actual store. | |
void | setHexadecimal (bool flag) |
Enables integral types as hexadecimals in the string from toString() function. | |
Interface class for managing an indexed lists. Sends out events when about to change and when changed using sf::TClosure instances.
T | Type of the indexed values. |
S | Type of the string the value is converted. |
typedef ssize_t sf::TTypedList< T, S >::index_type |
Type of the indices used by this class.
typedef T sf::TTypedList< T, S >::value_type |
Type of the stored values.
|
default |
Default constructor.
|
virtualdefault |
Virtual destructor.
|
virtual |
Adds an integer to the end of the list.
value | Value added to the list. |
void sf::TTypedList< T, S >::assign | ( | const TTypedList< T, S > & | other | ) |
Assign the values from the other typed list.
void sf::TTypedList< T, S >::assign | ( | std::initializer_list< value_type > | list | ) |
Assigns a list of values to the list.
|
virtual |
Enables to track when the list of strings is changing. Can be overloaded when needed for change event optimization.
|
protected |
Checks the validity of the passed index and when not valid throws an exception.
index | Index to check. |
std::out_of_range |
void sf::TTypedList< T, S >::clear | ( | ) |
Clears the all items from the store.
|
virtual |
Enables the to keep track of when the list has finished changing. Can be overloaded when needed for change event optimization.
|
virtual |
Swap underling index positions.
void sf::TTypedList< T, S >::fromString | ( | const S & | str, |
value_type | def = {} , |
||
const S & | separator = {} |
||
) |
Gets the values as a string separated by the given separator.
str | Separated string containing the string values. |
separator | Between the converted values in the string. Defaults to the comma character. |
def | Default value. |
value_type sf::TTypedList< T, S >::get | ( | index_type | index | ) | const |
Gets the const entry reference from the given index position.
index_type sf::TTypedList< T, S >::indexOf | ( | const value_type & | value | ) | const |
Gets the found index of the given value in the list.
bool sf::TTypedList< T, S >::isEqual | ( | const TTypedList< T, S > & | other | ) | const |
Compares the other list with this one.
bool sf::TTypedList< T, S >::operator!= | ( | const TTypedList< T, S > & | other | ) | const |
Equal operator calling isEqual().
bool sf::TTypedList< T, S >::operator== | ( | const TTypedList< T, S > & | other | ) | const |
Equal operator calling isEqual().
value_type sf::TTypedList< T, S >::operator[] | ( | index_type | index | ) | const |
Const array operator calling get().
|
virtual |
Removes the item at the position given by the index argument. When the underlying list is static do not implement.
index | Indicates entry index to be removed. |
sz | Amount of entries to remove. |
Reimplemented in sf::InformationIdList.
|
virtual |
Resizes the underlying store. When the store is static do not override it.
Reimplemented in sf::InformationIdList.
void sf::TTypedList< T, S >::set | ( | index_type | index, |
const value_type & | value | ||
) |
Sets an entry value using the given index position.
|
protected |
Enables integral types as hexadecimals in the string from toString() function.
flag | true for using hexadecimals. |
|
pure virtual |
Gets the size of the underlying data store.
Implemented in sf::InformationIdList, and sf::VariableIdList.
|
protectedpure virtual |
Handles Accesses the actual store.
index | Index to access. |
value | Value pointer to write when not null. |
Implemented in sf::InformationIdList, and sf::VariableIdList.
S sf::TTypedList< T, S >::toString | ( | const S & | separator = {} | ) | const |
Gets the values as a string separated by the given separator.
separator | Between the converted values in the string. Defaults to the comma character |
|
staticconstexpr |
Value for no index position.
TClosure<void, void*> sf::TTypedList< T, S >::onChanged |
Event callback function for when a change is done.
TClosure<void, void*> sf::TTypedList< T, S >::onChanging |
Event callback function for when a change is about to happen.