ADTF
3.18.2
|
Utility class for observable named items where the order is important. More...
Public Types | |
typedef DDL_TYPE_TO_ACCESS | access_type |
local definition of the access type | |
typedef std::shared_ptr< DDL_TYPE_TO_ACCESS > | value_type |
local definition of the value type | |
typedef std::vector< value_type > | container_type |
local definition of the container type | |
typedef std::unordered_map< std::string, value_type > | container_named_type |
local definition of the container type for getNamedItemViewList | |
typedef std::unordered_map< std::string, value_type > | container_named_compatibility_type |
local definition of the container type for getNamedItemList, which was had incompatible changes within dev_essential 1.3.0 and 1.3.1 | |
typedef container_type::iterator | iterator |
local definition of the container iterator | |
typedef container_type::const_iterator | const_iterator |
local definition of the container const_iterator | |
typedef TypeAccessListObserver< DDL_TYPE_TO_ACCESS > | parent_type |
local definition of the parent type to register observer | |
typedef TypeAccessListSubject< DDL_TYPE_TO_ACCESS > | map_subject_type |
local definition of the internal subject type | |
typedef map_subject_type::observer_type | observer_type |
local definition of the observer type | |
typedef parent_type::event_code_type | event_code_type |
local definition of the eventcode type | |
typedef parent_type::subject_type | subject_type |
local definition of the subject type | |
Public Types inherited from ModelObserverUtility< MODEL_SUBJECT_T, EVENT_CODE_T > | |
typedef EVENT_CODE_T | event_code_type |
local definition of the event code type | |
typedef MODEL_SUBJECT_T | subject_type |
local definition of the subject code type | |
Public Member Functions | |
TypeAccessList ()=delete | |
no default CTOR! | |
TypeAccessList (TYPE_VALIDATOR_CLASS *validator, const std::string &validation_info) | |
CTOR. More... | |
virtual | ~TypeAccessList () |
DTOR. | |
TypeAccessList (TypeAccessList &&other) | |
move CTOR | |
TypeAccessList & | operator= (TypeAccessList &&other) |
move assignment operator More... | |
TypeAccessList (const TypeAccessList &other) | |
copies (deepcopy!) CTOR More... | |
TypeAccessList & | operator= (const TypeAccessList &other) |
copies (deepcopy!) and overwrite the current content. More... | |
std::shared_ptr< const DDL_TYPE_TO_ACCESS > | get (const std::string &type_name) const |
get the item with the given name type_name More... | |
OptionalSize | getPosOf (const std::string &type_name) const |
Get the Pos Of the item with the name type_name . More... | |
bool | contains (const std::string &type_name) const |
determines is the type name exists in this list More... | |
bool | contains (const DDL_TYPE_TO_ACCESS &type_to_find) const |
determines if the item is in this list. More... | |
bool | contains (const TypeAccessList &other) const |
determines if the other is a subset of this list More... | |
void | add (const DDL_TYPE_TO_ACCESS &type_to_add) |
adds the given item More... | |
void | insert (const size_t pos_idx, const DDL_TYPE_TO_ACCESS &type_to_add) |
inserts the given item at the given pos More... | |
void | emplace (DDL_TYPE_TO_ACCESS &&type_to_add) |
emplace the given item More... | |
void | remove (const std::string &type_name) |
item to remove More... | |
std::shared_ptr< DDL_TYPE_TO_ACCESS > | access (const std::string &type_name) |
change access to an item More... | |
size_t | getSize () const |
Get the Size. More... | |
iterator | begin () |
the range based begin iterator More... | |
iterator | end () |
the range based end iterator More... | |
const_iterator | cbegin () const |
const begin iterator access More... | |
const_iterator | cend () const |
const end iterator access More... | |
const_iterator | begin () const |
range based begin operator for const access More... | |
const_iterator | end () const |
range based end operator for const access More... | |
bool | operator== (const TypeAccessList &other) const |
equality operator. More... | |
bool | operator!= (const TypeAccessList &other) const |
non equality operator. More... | |
void | clear () |
clears the list and remove this as observer | |
void | popBack () |
removes the last element if exists. More... | |
void | modelChanged (event_code_type event_code, subject_type &subject_changed, const std::string &additional_info) |
overrides the observers utility function. More... | |
Public Attributes | |
friend | TYPE_VALIDATOR_CLASS |
friend validator class | |
Private Member Functions | |
void | deepCopy (TypeAccessList &destination, TYPE_VALIDATOR_CLASS *validator) const |
copies the content of the of the list (by reseting the observer) and resets the validator to the given one. More... | |
size_t | countContains (const std::string &type_name) const |
determines the count of the type name exists in this list More... | |
bool | checkExistenceAndEquality (const DDL_TYPE_TO_ACCESS &type_to_add) |
void | setValidator (TYPE_VALIDATOR_CLASS *validator) |
const container_named_type * | getNamedContainer () const |
container_named_type * | getNamedContainer () |
Private Attributes | |
container_type | _types |
TYPE_VALIDATOR_CLASS * | _validator = {} |
std::string | _validation_info |
Additional Inherited Members | |
Protected Member Functions inherited from ModelObserverUtility< MODEL_SUBJECT_T, EVENT_CODE_T > | |
virtual | ~ModelObserverUtility () |
protected DTOR | |
Utility class for observable named items where the order is important.
DDL_TYPE_TO_ACCESS | the value type |
TYPE_VALIDATOR_CLASS | the validator class to inform on changes |
Definition at line 79 of file dd_access_list.h.
|
inline |
CTOR.
validator | the validator for name check! |
validation_info | info for errors |
Definition at line 146 of file dd_access_list.h.
|
inline |
copies (deepcopy!) CTOR
other | the other list |
Definition at line 193 of file dd_access_list.h.
|
inline |
change access to an item
type_name | the item name |
Definition at line 471 of file dd_access_list.h.
|
inline |
adds the given item
type_to_add | the item to add |
throws | if a item with that name already exists |
Definition at line 337 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::insert().
|
inline |
the range based begin iterator
Definition at line 505 of file dd_access_list.h.
Referenced by adtf::mediadescription::quiet::for_each_element_infix(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::operator==().
|
inline |
range based begin operator for const access
Definition at line 545 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::cbegin().
|
inline |
const begin iterator access
Definition at line 525 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::begin(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::insert().
|
inline |
const end iterator access
Definition at line 535 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::end().
|
inline |
determines if the item is in this list.
type_to_find | the item to find |
Definition at line 305 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::get().
|
inline |
determines is the type name exists in this list
type_name | the type name to check |
Definition at line 279 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::contains().
|
inline |
determines if the other
is a subset of this list
other | the other list |
Definition at line 321 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::contains().
|
inlineprivate |
determines the count of the type name exists in this list
type_name | the type name to check |
Definition at line 701 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::modelChanged().
|
inlineprivate |
copies the content of the of the list (by reseting the observer) and resets the validator to the given one.
destination | the destination list where to copy the content of this. |
validator | the validator to set in the destination! |
Definition at line 689 of file dd_access_list.h.
|
inline |
emplace the given item
type_to_add | the item to emplace |
throws | if a item with that name already exists |
Definition at line 409 of file dd_access_list.h.
Referenced by DDFromXMLFactory< DOM_NODE_TYPE >::createStream().
|
inline |
the range based end iterator
Definition at line 515 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::operator==().
|
inline |
range based end operator for const access
Definition at line 555 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::cend().
|
inline |
get the item with the given name type_name
type_name | the item to find |
Definition at line 232 of file dd_access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::contains().
|
inline |
Get the Pos Of the item with the name type_name
.
type_name | the item to get the pos of |
valid | OptionalSize with the position within the list (0 based) |
invalid | not in list |
Definition at line 259 of file dd_access_list.h.
|
inline |
Get the Size.
Definition at line 495 of file dd_access_list.h.
Referenced by adtf::mediadescription::quiet::for_each_element_infix(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::insert().
|
inline |
inserts the given item at the given pos
type_to_add | the item to insert |
pos_idx | the pos where to insert the item |
throws | if a item with that name already exists, or the pos_idx is invalid or out of range |
Definition at line 368 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::add(), TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::cbegin(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::getSize().
|
inlinevirtual |
overrides the observers utility function.
event_code | the internal event_code |
subject_changed | the subject (these are the items of the list) |
additional_info | the additional info (if any) |
Implements ModelObserverUtility< MODEL_SUBJECT_T, EVENT_CODE_T >.
Definition at line 640 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::countContains().
|
inline |
non equality operator.
other | the other TypeAccessList to compare this list to. |
Definition at line 581 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::operator==().
|
inline |
copies (deepcopy!) and overwrite the current content.
other | the other list |
Definition at line 210 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::clear().
|
inline |
move assignment operator
Definition at line 170 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::clear().
|
inline |
equality operator.
other | the other TypeAccessList to compare this list to. |
Definition at line 567 of file dd_access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::begin(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::end().
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::operator!=().
|
inline |
removes the last element if exists.
ddl::dd::Error | if it is empty. |
Definition at line 608 of file dd_access_list.h.
|
inline |
item to remove
type_name | the item name to remove |
Definition at line 437 of file dd_access_list.h.