15#ifdef INKCPP_BUILD_CLIB
46 : _list_table{
nullptr}
60 const char* _flag_name;
61 const char* _list_name;
64 bool _one_list_iterator;
66#ifdef INKCPP_BUILD_CLIB
75 : _flag_name(flag_name)
79 , _one_list_iterator(one_list_only)
107 _list.next(_flag_name, _list_name, _i, _one_list_iterator);
126# pragma GCC diagnostic push
127# pragma GCC diagnostic ignored "-Wunused-parameter"
129# pragma warning(push)
131 disable : 4100, justification : "non functional prototypes do not need the argument." \
138 inkAssert(
false,
"Not implemented function from interfaces is called!");
143 virtual void add(
const char* flag)
145 inkAssert(
false,
"Not implemented function from interface is called!");
151 inkAssert(
false,
"Not implemented function from interface is called!");
157 inkAssert(
false,
"Not implemented function from interface is called!");
158 return new_iterator(
nullptr, -1);
164 inkAssert(
false,
"Not implemented function from interface is called!");
165 return new_iterator(
nullptr, -1);
171 inkAssert(
false,
"Not implemented function from interface is called!");
172 return new_iterator(
nullptr, -1);
179 next(
const char*& flag_name,
const char*& list_name,
int& i,
bool _one_list_iterator)
const
181 inkAssert(
false,
"Not implemented funciton from interface is called!");
185# pragma GCC diagnostic pop
192 iterator new_iterator(
const char* flag_name,
int i,
bool one_list_only =
false)
const
194 return iterator(flag_name, *
this, i, one_list_only);
198 list_interface(internal::list_table& table,
int list)
199 : _list_table{&table}
205 internal::list_table* _list_table;
int ink_list_flags_from(const HInkList *self, const char *list_name, InkListIter *iter)
Creates an Iterator over all flags contained in a list assziated with a defined list.
int ink_list_flags(const HInkList *self, InkListIter *iter)
Creates an Iterator over all flags contained in a list.
iterater for flags in a list
Definition list.h:59
iterator & operator++()
continue iterator to next value
Definition list.h:105
bool operator!=(const iterator &itr) const
checks if iterator points not to the same element
Definition list.h:114
Flag operator*() const
access value the iterator is pointing to
Definition list.h:102
bool operator==(const iterator &itr) const
checks if iterator points to the same element
Definition list.h:119
Interface for accessing a Ink list.
Definition list.h:43
virtual bool contains(const char *flag) const
checks if a flag is contained in the list
Definition list.h:136
virtual iterator begin() const
begin iterator for contained flags in list
Definition list.h:155
virtual void remove(const char *flag)
removes a flag from list
Definition list.h:149
virtual void add(const char *flag)
add a flag to list
Definition list.h:143
virtual iterator begin(const char *list_name) const
returns a iterator over elements of the given list
Definition list.h:162
virtual iterator end() const
end iterator for contained flags in list
Definition list.h:169
Contaning all modules and classes used for the inkles ink runtime.
Definition choice.h:13
list_interface * list
alias for ink::runtime::list_interface pointer
Definition types.h:24
Iterater used to iterate flags of a HInkList.
Definition inkcpp.h:152
contains flag data
Definition list.h:85
const char * flag_name
name of the flag
Definition list.h:86
const char * list_name
name of the list
Definition list.h:87
friend std::ostream & operator<<(std::ostream &os, const Flag &flag)
serelization operator
Definition list.h:93