ADTF
|
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 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... | |
Optional< size_t > | 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... | |
std::shared_ptr< DDL_TYPE_TO_ACCESS > | create (const DDL_TYPE_TO_ACCESS &type_to_add) |
creates the given item by copy More... | |
void | add (const DDL_TYPE_TO_ACCESS &type_to_add) |
creates the given item by copy 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... | |
std::shared_ptr< DDL_TYPE_TO_ACCESS > | create (DDL_TYPE_TO_ACCESS &&type_to_add) |
create the given item by emplace 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 90 of file access_list.h.
|
inline |
CTOR.
validator | the validator for name check! |
validation_info | info for errors |
Definition at line 159 of file access_list.h.
|
inline |
copies (deepcopy!) CTOR
other | the other list |
Definition at line 205 of file access_list.h.
|
inline |
change access to an item
type_name | the item name |
Definition at line 513 of file access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::create().
|
inline |
creates the given item by copy
type_to_add | the item to add |
throws | if a item with that name already exists |
Definition at line 380 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::create().
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::insert().
|
inline |
the range based begin iterator
Definition at line 547 of file 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 587 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::cbegin().
|
inline |
const begin iterator access
Definition at line 567 of file 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 577 of file 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 317 of file 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 291 of file 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 333 of file 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 747 of file access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::modelChanged().
|
inline |
creates the given item by copy
type_to_add | the item to add |
throws | if a item with that name already exists |
Definition at line 350 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::access().
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::add(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::emplace().
|
inline |
create the given item by emplace
type_to_add | the item to emplace |
throws | if a item with that name already exists |
Definition at line 435 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::access().
|
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 735 of file access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::TypeAccessList(), and TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::operator=().
|
inline |
emplace the given item
type_to_add | the item to emplace |
throws | if a item with that name already exists |
Definition at line 465 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::create().
Referenced by MappingConfigurationFromXMLFactory< DomNodeType >::createAssignment(), DDFromXMLFactory< DOM_NODE_TYPE >::createStream(), MappingConfigurationFromXMLFactory< DomNodeType >::createTarget(), and MappingConfigurationFromXMLFactory10< DomNodeType >::createTarget().
|
inline |
the range based end iterator
Definition at line 557 of file 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 597 of file 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 244 of file access_list.h.
Referenced by TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::contains(), and ddl::mapping::getMapping10FunctionCallAttributes().
|
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 271 of file access_list.h.
|
inline |
Get the Size.
Definition at line 537 of file 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 393 of file 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 688 of file 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 624 of file 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 222 of file access_list.h.
References TypeAccessList< DDL_TYPE_TO_ACCESS, TYPE_VALIDATOR_CLASS >::clear().
|
inline |
move assignment operator
Definition at line 183 of file 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 609 of file 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 651 of file access_list.h.
|
inline |
item to remove
type_name | the item name to remove |
Definition at line 475 of file access_list.h.