<list> Class Reference

Methods in this pseudo-class can be executed on lists. More...

Inheritance diagram for Qore::<list>:
[legend]

## Public Member Functions

bool | complexType ()
| returns True if the list has a Hash With Declared Value Type, False if not More...
bool | contains (auto arg)
| Returns True if the list contains arg, False if it does not. More...
bool | empty ()
| Returns True if the list is empty (size = 0), False if not. More...
auto | first ()
| Returns the first entry in the list. More...
AbstractIterator | iterator ()
| Returns a ListIterator object for the list. More...
string | join (string str)
| Creates a string from the list and a separator string given as an argument. More...
auto | last ()
| Returns the last entry in the list. More...
int | lsize ()
| Returns the number of elements in the list. More...
AbstractIterator | rangeIterator (auto val)
| Returns a RangeIterator object for the list elements. More...
int | size ()
| Returns the number of elements in the list. More...
bool | sizep ()
| Returns True since lists can return a non-zero size. More...
int | typeCode ()
| Returns Qore::NT_LIST. More...
bool | val ()
| Returns False if the list is empty (size = 0), True if not. More...
Public Member Functions inherited from <value>
bool | callp ()
| Returns False; this method is reimplemented in other types and will return True if the given expression is a callable value (ie closures or call references) More...
bool | complexType ()
| returns True if the value has a complex type, False if not More...
bool | empty ()
| Returns True; this method will be reimplemented in container types where it may return False. More...
string | fullType (*bool with_namespaces)
| returns the full type name which differs from the simple type name in case of complex types and objects More...
bool | intp ()
| Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to an integer. More...
AbstractIterator | iterator ()
| Returns an iterator object for the value; the default iterator object returned is SingleValueIterator. More...
int | lsize ()
| Returns 1; the return value of this method should give the list size of the value, which is normally 1 for non-lists (except for NOTHING where the size will be 0) and the number of the elements in the list for lists; this method will be reimplemented in other types where it may return other values. More...
int | size ()
| Returns zero; this method will be reimplemented in container types where it may return a non-zero value. More...
bool | sizep ()
| Returns True if the type can return a non-zero size (True for containers including binary objects and strings, False for everything else) More...
bool | strp ()
| Returns False; this method is reimplemented in other types and will return True if the given expression can be converted to a string. More...
bool | toBool ()
| Returns the boolean representation of the value; the default is False. More...
float | toFloat ()
| Returns the floating-point representation of the value; the default is 0.0. More...
int | toInt ()
| Returns the integer representation of the value; the default is 0. More...
number | toNumber ()
| Returns the arbitrary-precision numeric representation of the value; the default is 0. More...
string | toString ()
| Returns the string representation of the value; the default is an empty string. More...
string | type ()
| Returns the string type for the value. More...
int | typeCode ()
| Returns the type code for the value. More...
bool | val ()
| Returns False; this method is reimplemented in other types and will return True if the given expression has a non-empty value. More...

## Detailed Description

Methods in this pseudo-class can be executed on lists.

## Member Function Documentation

## complexType()

bool <list>::complexType | ( |  | ) |

returns True if the list has a Hash With Declared Value Type, False if not

Code Flags:
  CONSTANT

Example:
  bool b = n.complexType();

Returns
  True if the list has a Hash With Declared Value Type, False if not

See also
  - <value>::fullType()

Since
  Qore 0.8.13

## contains()

bool <list>::contains | ( | auto | arg | ) |

Returns True if the list contains arg, False if it does not.

This call uses "soft" comparisons (where types may be converted). The computational complexity is `O(n)` (n = the length of the list).

Code Flags:
  RET_VALUE_ONLY

Parameters

  arg | any value to check its presence in the list

Returns
  True if the list contains arg, False if it does not

Example:
  list<int> l = (1, 2, 3);
  bool b = l.contains(5); # returns False

## empty()

bool <list>::empty | ( |  | ) |

Returns True if the list is empty (size = 0), False if not.

The opposite of <list>::val()

Returns
  True if the list is empty (size = 0), False if not

Code Flags:
  CONSTANT

Example:
  bool b = l.empty();

## first()

auto <list>::first | ( |  | ) |

Returns the first entry in the list.

Returns
  the first entry in the list

Code Flags:
  CONSTANT

Example:
  auto e = l.first();

See also
  <list>::last()

Since
  Qore 0.8.5

## iterator()

AbstractIterator <list>::iterator | ( |  | ) |

Returns a ListIterator object for the list.

Returns
  a ListIterator object for the list

Code Flags:
  CONSTANT

Example:
  map printf("+ %y\n", $1), l.iterator();
  Qore::printf
  string printf(string fmt,...)
  Outputs the string passed to standard output, using the first argument as a format string; does not e...

Since
  Qore 0.8.6

## join()

string <list>::join | ( | string | str | ) |

Creates a string from the list and a separator string given as an argument.

Each element in the list will be converted to a string if necessary to be concatenated to the return value string; additionally if any string argument has a different character encoding than str, then it will be converted to str's character encoding before concatentation to the return value string

Code Flags:
  RET_VALUE_ONLY

Parameters

  str | the separator string

Returns
  a string created from a list and a separator string, each element in the list will be present in the return value separated by the separator string; the string returned with have the same character encoding as str

Example:
  string str = ("a", "b", "c").join(":"); # returns "a:b:c"
  Qore::join
  string join(string str,...)
  Creates a string from separator string and a list of arguments.

Exceptions

  ENCODING-CONVERSION-ERROR | this exception could be thrown if the string arguments have different character encodings and an error occurs during encoding conversion

Note
  equivalent to join(string, list)

Since
  Qore 0.8.5

## last()

auto <list>::last | ( |  | ) |

Returns the last entry in the list.

Returns
  the last entry in the list

Code Flags:
  CONSTANT

Example:
  auto e = l.last();

See also
  <list>::first()

Since
  Qore 0.8.5

## lsize()

int <list>::lsize | ( |  | ) |

Returns the number of elements in the list.

For this type, this method is equivalent to size()

Returns
  the number of elements in the list

Code Flags:
  CONSTANT

Example:
  printf("iterating %d element%s\n", val.lsize(), val.lsize() == 1 ? "" : "s");
  foreach auto element in (val) {
  do_something(element);
  }

## rangeIterator()

AbstractIterator <list>::rangeIterator | ( | auto | val | ) |

Returns a RangeIterator object for the list elements.

Code Flags:
  CONSTANT

Example:
  map printf("+ %y\n", $1), l.ranegIterator();

Parameters

  val | an optional value to be returned instead of the default integer value

Returns
  a RangeIterator object for the list elements

Since
  - Qore 0.8.8
  - Qore 0.8.11.1 this pseudo-method takes the optional val argument

## size()

int <list>::size | ( |  | ) |

Returns the number of elements in the list.

Returns
  the number of elements in the list

Code Flags:
  CONSTANT

Example:
  int len = l.size();

See also
  <list>::sizep()

## sizep()

bool <list>::sizep | ( |  | ) |

Returns True since lists can return a non-zero size.

Code Flags:
  CONSTANT

Returns
  True since lists can return a non-zero size

See also
  <list>::size()

Since
  Qore 0.8.9

## typeCode()

int <list>::typeCode | ( |  | ) |

Returns Qore::NT_LIST.

Returns
  Qore::NT_LIST

Code Flags:
  CONSTANT

Example:
  switch (l.typeCode()) {
  case NT_LIST:
  printf("%y: is a list\n", l);
  break;
  }

## val()

bool <list>::val | ( |  | ) |

Returns False if the list is empty (size = 0), True if not.

The opposite of <list>::empty()

Returns
  False if the list is empty (size = 0), True if not

Code Flags:
  CONSTANT

Example:
  bool b = l.val();

See also
  - %perl-bool-eval
  - %strict-bool-eval