24 #ifndef _QORE_QORELISTNODE_H
26 #define _QORE_QORELISTNODE_H
28 #include <qore/AbstractQoreNode.h>
45 friend class StackList;
52 DLLLOCAL QoreListNode& operator=(
const QoreListNode&);
58 struct qore_list_private *
priv;
121 DLLEXPORT QoreListNode();
239 DLLEXPORT
void merge(
const QoreListNode* list);
274 DLLEXPORT QoreListNode*
copy()
const;
286 DLLEXPORT QoreListNode*
sort()
const;
423 DLLEXPORT
bool empty()
const;
426 DLLEXPORT QoreListNode*
reverse()
const;
439 DLLLOCAL QoreListNode(
bool i);
460 DLLLOCAL
void clear();
473 DLLLOCAL QoreListNode*
parseInitList(LocalVar *oflag,
int pflag,
int &lvids,
const QoreTypeInfo *&typeInfo);
476 #include <qore/ReferenceHolder.h>
510 DLLLOCAL
void *
operator new(size_t);
531 DLLEXPORT
bool next();
540 DLLEXPORT
bool prev();
563 DLLEXPORT
bool first()
const;
566 DLLEXPORT
bool last()
const;
586 return pos == -1 ?
false :
true;
634 DLLEXPORT
bool next();
643 DLLEXPORT
bool prev();
660 DLLEXPORT
bool first()
const;
663 DLLEXPORT
bool last()
const;
681 return pos == -1 ?
false :
true;
685 DLLEXPORT
void reset();
695 DLLLOCAL
void discard_intern() {
696 if (needs_deref && val)
702 val = exp->
evalList(needs_deref, xsink);
712 DLLLOCAL QoreListNodeEvalOptionalRefHolder& operator=(
const QoreListNodeEvalOptionalRefHolder&);
714 DLLLOCAL
void *
operator new(size_t);
749 needs_deref = n_needs_deref;
777 else if (!needs_deref || !val->
is_unique()) {
794 DLLLOCAL
operator bool()
const {
return val != 0; }