<callref> Class Reference

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

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

## Public Member Functions

bool | callp ()
| Returns True because this is a callable type. More...
auto | exec (...)
| Evaluates the code with the arguments given and returns the result. More...
int | typeCode ()
| Returns Qore::NT_CALLREF. More...
bool | val ()
| Returns True. 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 call references.

## Member Function Documentation

## callp()

bool <callref>::callp | ( |  | ) |

Returns True because this is a callable type.

Code Flags:
  CONSTANT

Example:
  if (n.callp())
  printf("the result of calling the value: %y\n", n());
  Qore::printf
  string printf(string fmt,...)
  Outputs the string passed to standard output, using the first argument as a format string; does not e...

Returns
  True because this is a callable type

## exec()

auto <callref>::exec | ( |  | ... | ) |

Evaluates the code with the arguments given and returns the result.

Parameters

  ... | the arguments to the code to be called

Returns
  the return value of the code called

## typeCode()

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

Returns Qore::NT_CALLREF.

Code Flags:
  CONSTANT

Example:
  switch (c.typeCode()) {
  case NT_CALLREF:
  printf("%y: is a call reference\n", c);
  break;
  }

Returns
  Qore::NT_CALLREF

## val()

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

Returns True.

Code Flags:
  CONSTANT

Example:
  bool b = c.val();

Returns
  True

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