5 #include <hilti/ast/operators/common.h> 6 #include <hilti/ast/types/bool.h> 7 #include <hilti/ast/types/integer.h> 8 #include <hilti/ast/types/list.h> 9 #include <hilti/ast/types/void.h> 10 #include <hilti/base/util.h> 14 STANDARD_OPERATOR_1(list::iterator, Deref, operator_::dereferencedType(0),
15 type::constant(type::list::Iterator(type::Wildcard())),
16 "Returns the list element that the iterator refers to.");
17 STANDARD_OPERATOR_1(list::iterator, IncrPostfix, operator_::sameTypeAs(0,
"iterator<list<*>>"),
18 type::list::Iterator(type::Wildcard()),
19 "Advances the iterator by one list element, returning the previous position.");
20 STANDARD_OPERATOR_1(list::iterator, IncrPrefix, operator_::sameTypeAs(0,
"iterator<list<*>>"),
21 type::list::Iterator(type::Wildcard()),
22 "Advances the iterator by one list element, returning the new position.");
23 STANDARD_OPERATOR_2(list::iterator, Equal, type::Bool(), type::constant(type::list::Iterator(type::Wildcard())),
24 operator_::sameTypeAs(0,
"iterator<list<*>>"),
25 "Returns true if two lists iterators refer to the same location.");
26 STANDARD_OPERATOR_2(list::iterator, Unequal, type::Bool(), type::constant(type::list::Iterator(type::Wildcard())),
27 operator_::sameTypeAs(0,
"iterator<list<*>>"),
28 "Returns true if two lists iterators refer to different locations.");
30 STANDARD_OPERATOR_1(list, Size, type::UnsignedInteger(64), type::constant(type::List(type::Wildcard())),
31 "Returns the number of elements a list contains.");
32 STANDARD_OPERATOR_2(list, Equal, type::Bool(), type::constant(type::List(type::Wildcard())),
33 operator_::sameTypeAs(0,
"list<*>"),
"Compares two lists element-wise.");
34 STANDARD_OPERATOR_2(list, Unequal, type::Bool(), type::constant(type::List(type::Wildcard())),
35 operator_::sameTypeAs(0,
"list<*>"),
"Compares two lists element-wise.");
Definition: operator-registry.h:15