Loading...
Searching...
No Matches
Miscellaneous Functions

## Functions

string | Qore::backquote (string cmd, *reference< int > rc)
| Executes a process and returns a string of the output (stdout only)
nothing | Qore::backquote ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
auto | Qore::call_builtin_function (string name,...)
| Calls a function and returns the return value, passing the remaining arguments after the function name to the builtin function.
auto | Qore::call_builtin_function_args (string name, *softlist< auto > vargs)
| Calls a function and returns the return value, using the optional second argument as a list of arguments for the function.
auto | Qore::call_function (string name,...)
| Calls a function and returns the return value, passing the remaining arguments after the function name to the function.
auto | Qore::call_function (code f,...)
| Calls the given call reference or closure and returns the result, passing the remaining arguments to the call reference or closure.
auto | Qore::call_function_args (string name, *softlist< auto > vargs)
| Calls a function and returns the return value, using the optional second argument as a list of arguments for the function.
auto | Qore::call_function_args (code f, *softlist< auto > vargs)
| Calls the given call reference or closure and returns the result, using the optional second argument as a list of arguments to the call reference or closure.
string | Qore::decode_uri_request (string uri)
| Decodes percent-encoded codes in a URI path and converts `"+"` signs in the query component to spaces and returns the decoded string in UTF-8 encoding.
string | Qore::decode_url (string url)
| Decodes percent numeric codes in a URL string and returns the decoded string in UTF-8 encoding.
nothing | Qore::decode_url ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::encode_uri_request (string url)
| Encodes URI requests by substituting special characters in the path with percent-encoded equivalents and substituting spaces with `"+"` and `"+"` with the percent-encoded equivalent in the URI query component.
string | Qore::encode_url (string url, softbool encode_all=False)
| Encodes URLs by substituting `'%'` characters with `'%25'`, spaces (`'` ') with `'%20'`, and non-ascii characters by percent-encoded representations.
bool | Qore::exists (...)
| A function performing the same role as the exists operator.
bool | Qore::existsFunction (string name)
| Returns True if the function exists in the current program's function name space.
bool | Qore::existsFunction (code c)
| Always returns True.
nothing | Qore::existsFunction ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
bool | Qore::exists_function (string name)
| Returns True if the function exists in the current program's function name space.
bool | Qore::exists_function (code c)
| Always returns True.
*string | Qore::functionType (string name)
| Returns `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed.
nothing | Qore::functionType ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
*string | Qore::function_type (string name)
| Returns `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed.
*int | Qore::getByte (string str, softint offset=0)
| Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
nothing | Qore::getByte ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
*int | Qore::getByte (binary b, softint offset=0)
| Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
string | Qore::getClassName (object obj)
| Returns the class name of the object passed.
nothing | Qore::getClassName ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
list< string > | Qore::getFeatureList ()
| Returns a list of strings of the builtin and module-supplied features of Qore.
hash< string, hash< auto > > | Qore::getModuleHash ()
| Returns a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names.
list< hash< auto > > | Qore::getModuleList ()
| Returns a list of hashes describing the currently-loaded Qore modules.
*int | Qore::getWord32 (string str, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::getWord32 (binary b, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
nothing | Qore::getWord32 ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
*int | Qore::get_byte (string str, softint offset=0)
| Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_byte (binary b, softint offset=0)
| Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
code | Qore::get_call_reference (string identifier)
| resolve the string as a call reference
string | Qore::get_class_name (object obj)
| Returns the class name of the object passed.
string | Qore::get_default_encoding ()
| Returns the name of the default character encoding.
string | Qore::get_ex_pos (hash< auto > ex)
| returns a descriptive string for an exception location; the `source` and `offset` information will also be included in the string returned if present in the ExceptionInfo hash argument
list< string > | Qore::get_feature_list ()
| Returns a list of strings of the builtin and module-supplied features of Qore.
hash< auto > | Qore::get_global_vars ()
| returns a hash of global variables
hash< auto > | Qore::get_local_vars (int frame)
| retrieves a hash of local variables for the given stack frame
hash< string, hash< auto > > | Qore::get_module_hash ()
| Returns a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names.
list< hash< auto > > | Qore::get_module_list ()
| Returns a list of hashes describing the currently-loaded Qore modules.
auto | Qore::get_module_option (string module, string option)
| returns the given global module option
int | Qore::get_parse_options ()
| returns the current parse options for the current Program object
hash< auto > | Qore::get_qore_library_info ()
| Returns a hash of library build and version info.
hash< string, hash< auto > > | Qore::get_qore_option_hash ()
| Returns a hash of hashes giving information about Qore library options for the current build.
list< hash< auto > > | Qore::get_qore_option_list ()
| Returns a list of hashes giving information about Qore library options for the current build.
string | Qore::get_safe_url (string url)
| Returns the URL string passed without any password information.
*string | Qore::get_script_dir ()
| Returns the name of the directory from which the current script was executed or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)
*string | Qore::get_script_name ()
| Returns the filename of the current script if known or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)
*string | Qore::get_script_path ()
| Returns the path (directory and filename) of the current script or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)
*int | Qore::get_word_16 (string str, softint offset=0)
| Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_16 (binary b, softint offset=0)
| Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_16_lsb (string str, softint offset=0)
| Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_16_lsb (binary b, softint offset=0)
| Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_32 (string str, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_32 (binary b, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_32_lsb (string str, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_32_lsb (binary b, softint offset=0)
| Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_64 (string str, softint offset=0)
| Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_64 (binary b, softint offset=0)
| Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_64_lsb (string str, softint offset=0)
| Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
*int | Qore::get_word_64_lsb (binary b, softint offset=0)
| Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.
bool | Qore::has_key (hash< auto > h, string key)
| Returns True if the given key exists in the hash (does not necessarily have to have a value assigned); exceptions are only raised if string encoding errors are encountered.
bool | Qore::has_key (object obj, string key)
| Returns True if the given key exists in the object (does not necessarily have to have a value assigned); exceptions are only raised if string encoding errors are encountered or in case of object access errors.
list< auto > | Qore::hash_values (hash< auto > h)
| Returns a list of all the values in the hash argument passed.
nothing | Qore::hash_values ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
int | Qore::hextoint (string str)
| Returns an integer for a hexadecimal string value; throws an exception if non-hex digits are found.
nothing | Qore::hextoint ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::html_decode (string str)
| Returns a string with any HTML escape codes translated to the original characters.
nothing | Qore::html_decode ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::html_encode (string str)
| Returns a string with characters needing HTML escaping translated to HTML escape codes.
nothing | Qore::html_encode ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
nothing | Qore::load_module (string name, int warning_mask=WARN_MODULES)
| Loads in a Qore module at run-time.
nothing | Qore::load_module ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
*hash< ExceptionInfo > | Qore::load_module_warn (string name, int warning_mask=WARN_MODULES)
| Loads in a Qore module at run-time.
nothing | Qore::load_user_module_with_program (string name, Qore::Program pgm)
| Loads in a Qore user module at run-time with using the given Program object as the container for the user module code.
string | Qore::makeBase64String (string str, softint maxlinelen=-1)
| Returns a base64-encoded representation of a string.
string | Qore::makeBase64String (binary bin, softint maxlinelen=-1)
| Returns a base64-encoded representation of a binary object.
nothing | Qore::makeBase64String ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::makeHexString (string str)
| Returns a hex-encoded representation of a string.
string | Qore::makeHexString (binary bin)
| Returns a hex-encoded representation of a binary object.
nothing | Qore::makeHexString ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::make_base64_string (string str, softint maxlinelen=-1)
| Returns a base64-encoded representation of a string.
string | Qore::make_base64_string (binary bin, softint maxlinelen=-1)
| Returns a base64-encoded representation of a binary object.
string | Qore::make_base64_url_string (string str)
| Returns a base64-url-encoded representation of a string.
string | Qore::make_base64_url_string (binary bin)
| Returns a base64-url-encoded representation of a binary object.
string | Qore::make_hex_string (string str)
| Returns a hex-encoded representation of a string.
string | Qore::make_hex_string (binary bin)
| Returns a hex-encoded representation of a binary object.
*hash< auto > | Qore::parse (string code, string label, *softint warning_mask, *string source, *softint offset, softbool format_label=True)
| Adds the text passed to the current program's code, tagged with the given label.
nothing | Qore::parse ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
binary | Qore::parseBase64String (string str)
| Parses a base64 encoded string and returns a binary object of the decoded data.
nothing | Qore::parseBase64String ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
string | Qore::parseBase64StringToString (string str, *string encoding)
| Parses a base64 encoded string and returns a string of the decoded data.
nothing | Qore::parseBase64StringToString ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
binary | Qore::parseHexString (string hexstr)
| Parses a hex-encoded string and returns the binary object.
nothing | Qore::parseHexString ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
*hash< UrlInfo > | Qore::parseURL (string url, bool keep_brackets=False)
| Parses a URL string and returns a hash of the components; if the URL cannot be parsed then NOTHING is returned.
nothing | Qore::parseURL ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
binary | Qore::parse_base64_string (string str)
| Parses a base64 encoded string and returns a binary object of the decoded data.
string | Qore::parse_base64_string_to_string (string str, *string encoding)
| Parses a base64 encoded string and returns a string of the decoded data.
binary | Qore::parse_base64_url_string (string str)
| Parses a base64-url-encoded string and returns a binary object of the decoded data.
string | Qore::parse_base64_url_string_to_string (string str, *string encoding)
| Parses a base64-url-encoded string and returns a string of the decoded data.
binary | Qore::parse_hex_string (string hexstr)
| Parses a hex-encoded string and returns the binary object.
hash< UrlInfo > | Qore::parse_url (string url, bool keep_brackets)
| Parses a URL string and returns a hash of the components.
hash< UrlInfo > | Qore::parse_url (string url, *int options)
| Parses a URL string and returns a hash of the components.
nothing | Qore::reload_module (string name)
| Reloads an already-loaded Qore module subject to code injection at run-time into Qore; the module's code is not imported into the current Program object.
nothing | Qore::set_global_var_value (string name, auto value)
| set the value of a global variable
nothing | Qore::set_local_var_value (int frame, string var, auto value)
| sets the value of the given local variable; if the variable cannot be found an exception is raised
nothing | Qore::set_module_option (string module, string option, auto value)
| set the given module option
| Qore::set_return_value (auto val)
| sets the return value for a Program object when running with %exec-class
string | Qore::splice (string str)
| This function always returns an empty string `""`.
string | Qore::splice (string str, softint start)
| Returns a string based on the argument string but with characters removed from a certain character index.
string | Qore::splice (string str, softint start, softint len, *string nstr)
| Returns a string based on the argument string but optionally with characters removed and/or added from a certain character index.
list< auto > | Qore::splice (list< auto > l, softint start)
| Returns a list based on the argument list but with elements removed from the given index to the end of the list.
list< auto > | Qore::splice (list< auto > l, softint start, softint len)
| Returns a list based on the argument list but optionally with elements removed and/or added from a certain index.
list< auto > | Qore::splice (list< auto > l, softint start, softint len, softlist< auto > nlist)
| Returns a list based on the argument list but optionally with elements removed and/or added from a certain index.
nothing | Qore::splice ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.
int | Qore::strtoint (string num, softint base=10)
| parses a string representing a number in a configurable base and returns the integer
nothing | Qore::strtoint ()
| This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

## Detailed Description

Miscellaneous functions

## Function Documentation

## backquote() [1/2]

nothing Qore::backquote | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Restrictions:
  Qore::PO_NO_EXTERNAL_PROCESS

Code Flags:
  RUNTIME_NOOP

## backquote() [2/2]

string Qore::backquote | ( | string | cmd,
|  | *reference< int > | rc )

Executes a process and returns a string of the output (stdout only)

Restrictions:
  Qore::PO_NO_EXTERNAL_PROCESS

Parameters

  cmd | The shell command to executed as a subprocess
  rc | an optional reference to an integer to return the return code of the process

Returns
  The stdout of the shell command that was executed

Example:
  int rc;
  string files = backquote("ls", \rc);

Exceptions

  BACKQUOTE-ERROR | An error occurred with the fork() or opening the stdout pipe

See also
  - system()
  - the backquote operator

Since
  Qore 0.8.8 the rc argument was added

## call_builtin_function()

auto Qore::call_builtin_function | ( | string | name,
|  |  | ... )

Calls a function and returns the return value, passing the remaining arguments after the function name to the builtin function.

Parameters

  name | The name of the builtin function to call
  ... | Any optional arguments to the function

Returns
  The value returned by the called function

Example:
  auto result = call_builtin_function("func_name", arg1, arg2);

Exceptions

  INVALID-FUNCTION-ACCESS | Parse options do not allow access to the function
  NO-FUNCTION | The function does not exist

Note
  The function called could also throw other exceptions

Since
  0.8.4 this function no longer restricts its search to builtin functions as as of Qore 0.8.4 builtin and user functions are stored identically internally; there is only one function implementation which can contain both builtin and user variants

## call_builtin_function_args()

auto Qore::call_builtin_function_args | ( | string | name,
|  | *softlist< auto > | vargs )

Calls a function and returns the return value, using the optional second argument as a list of arguments for the function.

Parameters

  name | The name of the builtin function to call
  vargs | Optionally a single argument to the function or a list of arguments to the function

Returns
  The value returned by the called function

Example:
  auto result = call_builtin_function_args("func_name", (arg1, arg2));

Exceptions

  INVALID-FUNCTION-ACCESS | Parse options do not allow access to the function
  NO-FUNCTION | The function does not exist

Note
  The function called could also throw other exceptions

Since
  0.8.4 this function no longer restricts its search to builtin functions as as of Qore 0.8.4 builtin and user functions are stored identically internally; there is only one function implementation which can contain both builtin and user variants

## call_function() [1/2]

auto Qore::call_function | ( | code | f,
|  |  | ... )

Calls the given call reference or closure and returns the result, passing the remaining arguments to the call reference or closure.

Parameters

  f | The call reference or closure
  ... | Any optional arguments to the call reference or closure

Example:
  auto result = call_function(call_ref, arg1, arg2);

Note
  The call reference or closure called could also throw other exceptions

See also
  - call_function_args()
  - call_static_method()
  - call_static_method_args()
  - call_object_method()
  - call_object_method_args()

## call_function() [2/2]

auto Qore::call_function | ( | string | name,
|  |  | ... )

Calls a function and returns the return value, passing the remaining arguments after the function name to the function.

Parameters

  name | The name of the function to call
  ... | Any optional arguments to the function

Returns
  The value returned by the called function

Example:
  auto result = call_function("func_name", arg1, arg2);

Exceptions

  INVALID-FUNCTION-ACCESS | Parse options do not allow access to the function
  NO-FUNCTION | The function does not exist

Note
  The function called could also throw other exceptions

See also
  - call_function_args()
  - call_static_method()
  - call_static_method_args()
  - call_object_method()
  - call_object_method_args()

## call_function_args() [1/2]

auto Qore::call_function_args | ( | code | f,
|  | *softlist< auto > | vargs )

Calls the given call reference or closure and returns the result, using the optional second argument as a list of arguments to the call reference or closure.

Parameters

  f | The call reference or closure
  vargs | Optionally a single argument to the call reference or closure or a list of arguments to the call reference or closure

Example:
  auto result = call_function_args(call_ref, (arg1, arg2));

Note
  The call reference or closure called could also throw other exceptions

See also
  - call_function()
  - call_static_method()
  - call_static_method_args()
  - call_object_method()
  - call_object_method_args()

## call_function_args() [2/2]

auto Qore::call_function_args | ( | string | name,
|  | *softlist< auto > | vargs )

Calls a function and returns the return value, using the optional second argument as a list of arguments for the function.

Parameters

  name | The name of the function to call
  vargs | Optionally a single argument to the function or a list of arguments to the function

Returns
  The value returned by the called function

Example:
  auto result = call_function_args("func_name", (arg1, arg2));

Exceptions

  INVALID-FUNCTION-ACCESS | Parse options do not allow access to the function
  NO-FUNCTION | The function does not exist

Note
  The function called could also throw other exceptions

See also
  - call_function()
  - call_static_method()
  - call_static_method_args()
  - call_object_method()
  - call_object_method_args()

## decode_uri_request()

string Qore::decode_uri_request | ( | string | uri | ) |

Decodes percent-encoded codes in a URI path and converts `"+"` signs in the query component to spaces and returns the decoded string in UTF-8 encoding.

Code Flags:
  CONSTANT

Example:
  string decoded_uri = decode_uri_request("path/to/something%20else?query=1%2b1+%2b2");
  # results in: "path/to/something else?query=1+1 +2"

Parameters

  uri | a URI request string to decode

Returns
  the decoded URI request string in UTF-8 encoding

The URI string is divided into three parts:

- the path, which is the first part of the URI string up until any `"?"` or `"#"` character
- the query, which is any string following a `"?"` character terminating the path and up to a possible `"#"` character
- the fragment, which is any string following a `"#"` character

For all parts, any percent-encoded codes (RFC 3986 2.1) are decoded to the corresponding character. The path component is identified and distinguished by a `"?"` or a `"#"` character. The path component is subjected to standard percent encoding. The query component is any part of the URI string following a `"?"` character up to the end of the URI string or until a `"#"` characer is found. The query component is subjected to special decoding for AJAX compatibility; `"+"` characters are decoded to ASCII space (therefore any `"+"` charaters in the query component of the URI must be encoded with percent encoding, such is the case with Qore::encode_uri_request() for example). The fragment component is identified as any text following a `"#"` character, and this is decoded with the same rules as in the path component.

Note
  the difference between this function and Qore::decode_url() is that this function employs special logic in the decoding of the different components of the URI string for compatibility with common AJAX libraries that encode ASCII spaces as `"+"` in the query component of the URI string.

See also
  - encode_uri_request()
  - encode_url()
  - decode_url()

Since
  Qore 0.8.12

## decode_url() [1/2]

nothing Qore::decode_url | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## decode_url() [2/2]

string Qore::decode_url | ( | string | url | ) |

Decodes percent numeric codes in a URL string and returns the decoded string in UTF-8 encoding.

Code Flags:
  CONSTANT

Parameters

  url | a URL string with percent-encodings to decode

Returns
  the URL string in UTF-8 encoding with all percent-encodings decoded

Example:
  string decoded_url = decode_url(encoded_url);

Note
  percent decoding is made according to RFC 3986 2.1

See also
  - encode_url()
  - encode_uri_request()
  - decode_uri_request() for a similar function that provides AJAX-compatible URI decoding for the URI query component

## encode_uri_request()

string Qore::encode_uri_request | ( | string | url | ) |

Encodes URI requests by substituting special characters in the path with percent-encoded equivalents and substituting spaces with `"+"` and `"+"` with the percent-encoded equivalent in the URI query component.

Code Flags:
  CONSTANT

Example:
  string encoded_uri = encode_uri_request("path/to/something else?query=1+1 +2")'
  # results in: "path/to/something%20else?query=1%2b1+%2b2"

Parameters

  url | a URL string to encode

Returns
  the URI request string with encoded according to the arguments

The URI string is divided into three parts:

- the path, which is the first part of the URI string up until any `"?"` or `"#"` character
- the query, which is any string following a `"?"` character terminating the path and up to a possible `"#"` character
- the fragment, which is any string following a `"#"` character

For all parts, any non-ASCII characters and the `"%"` character are subjected to percent encoding (RFC 3986 2.1). The path component is identified and distinguished by a `"?"` or a `"#"` character. Any spaces in the path component are also subjected to percent encoding. The query component is any part of the URI string following a `"?"` character up to the end of the URI string or until a `"#"` characer is found. Spaces in the query component are encoded with `"+"` for compatibility with AJAX libraries, and `"+"` signs are subjected to percent encoding. The fragment component is identified as any text following a `"#"` character, and this is encoded with the same rules as in the path component.

Note
  the difference between this function and Qore::encode_url() is that this function employs special logic in the encoding of the different components of the URI string for compatibility with common AJAX libraries that encode ASCII spaces as `"+"` in the query component of the URI string

See also
  - decode_uri_request()
  - decode_url()
  - encode_url()
  - RFC 3986
  - RFC 6874

Since
  Qore 0.8.12

## encode_url()

string Qore::encode_url | ( | string | url,
|  | softbool | encode_all = False )

Encodes URLs by substituting `'%'` characters with `'%25'`, spaces (`'` ') with `'%20'`, and non-ascii characters by percent-encoded representations.

Code Flags:
  CONSTANT

Parameters

  url | a URL string to encode
  encode_all | if True, then in addition to `'%'`, spaces (`'` '), and non-ascii characters the following reserved characters (according to RFC 3986 are also encoded: `'!'`, `'*'`, `'\''`, `'`(', `'`)', `'`;', `'`:', `'@'`, `'&'`, `'='`, `'+'`, `'$'`, `'`,', `'/'`, `'`?', `'#'`, `'`[', `'`]'

Returns
  the URL string with encoded according to the arguments

Example:
  string encoded_url = encode_url(url);

See also
  - decode_url()
  - encode_uri_request() for a similar function that provides AJAX-compatible URI encoding for the URI query component
  - decode_uri_request()

Since
  Qore 0.8.9

## exists()

bool Qore::exists | ( |  | ... | ) |

A function performing the same role as the exists operator.

Code Flags:
  CONSTANT

Parameters

  ... | if only a single argument is passed, then this function returns True if the single argument exists, False if not; otherwise is multiple arguments are passed to the function, it always returns True; this is to emulate the behavior of the exists operator

Returns
  if only a single argument is passed, then this function returns True if the single argument exists, False if not; otherwise is multiple arguments are passed to the function, it always returns True; this is to emulate the behavior of the exists operator

Example:
  bool b = exists(val);

## exists_function() [1/2]

bool Qore::exists_function | ( | code | c | ) |

Always returns True.

This function variant is included for backwards-compatibility

Code Flags:
  NOOP

Parameters

  c | a call reference or closure:

Returns
  always returns True

Since
  Qore 0.8.12 as a replacement for deprecated camel-case existsFunction()

## exists_function() [2/2]

bool Qore::exists_function | ( | string | name | ) |

Returns True if the function exists in the current program's function name space.

Code Flags:
  CONSTANT

Parameters

  name | the name of the function to check

Returns
  True if the function exists in the current program's function name space, False if not

Example:
  bool b = exists_function("func_name");

Since
  Qore 0.8.12 as a replacement for deprecated camel-case existsFunction()

## existsFunction() [1/3]

nothing Qore::existsFunction | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## existsFunction() [2/3]

bool Qore::existsFunction | ( | code | c | ) |

Always returns True.

This function variant is included for backwards-compatibility

Code Flags:
  NOOP, DEPRECATED

Parameters

  c | a call reference or closure:

Returns
  always returns True

Deprecated
  use exists_function(); camel-case function names were deprecated in Qore 0.8.12

## existsFunction() [3/3]

bool Qore::existsFunction | ( | string | name | ) |

Returns True if the function exists in the current program's function name space.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  name | the name of the function to check

Returns
  True if the function exists in the current program's function name space, False if not

Deprecated
  use exists_function(); camel-case function names were deprecated in Qore 0.8.12

## function_type()

*string Qore::function_type | ( | string | name | ) |

Returns `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed.

Parameters

  name | The function name to check

Returns
  `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed

Example:
  *string type = function_type("print");

Since
  Qore 0.8.12 as a replacement for deprecated camel-case functionType()

## functionType() [1/2]

nothing Qore::functionType | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## functionType() [2/2]

*string Qore::functionType | ( | string | name | ) |

Returns `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  name | The function name to check

Returns
  `"builtin"` (for a builtin function), `"user"` (for a user function), or NOTHING (if the function cannot be found) according to the function name passed

Deprecated
  use function_type(); camel-case function names were deprecated in Qore 0.8.12

## get_byte() [1/2]

*int Qore::get_byte | ( | binary | b,
|  | softint | offset = 0 )

Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int byte = get_byte(bin, 2); # returns the third byte of the binary object

Note
  this function is equivalent to the more efficient [] operator when used with a binary argument
  Furthermore this function is identical to getByte(), except this function has no RUNTIME_NOOP variant

## get_byte() [2/2]

*int Qore::get_byte | ( | string | str,
|  | softint | offset = 0 )

Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int byte = get_byte(str, 2); # returns the third byte of the string

Note
  that for strings this function is not equivalent to the [] operator for multi-byte character encodings, as this function works purely on bytes and the [] operator operates on characters
  Furthermore this function is identical to getByte(), except this function has no RUNTIME_NOOP variant

## get_call_reference()

code Qore::get_call_reference | ( | string | identifier | ) |

resolve the string as a call reference

Code Flags:
  RET_VALUE_ONLY

Parameters

  identifier | the string to resolve; function or static class method, can include namespace path

Returns
  the call reference to the given function or static method; the string is resolved as follows:
  - if in a class method, a non-static method lookup is made
  - if not found, then a static method lookup is made
  - if not found, then a function lookup is made
  - if not found, an `CALL-REFERENCE-ERROR` exception is thrown

Exceptions

  CALL-REFERENCE-ERROR | cannot resolve call reference; method not accessible in the calling context

Note
  - use <object>::getCallReference() to get call references to non-public class methods; this builtin function will always run without any class context, however pseudo-methods run with the class context of the caller, which enables it to access any accessible private method
  - call references to non-static methods contain a weak reference to the object; the lifetime of the object is not extended by the call reference

See also
  - <object>::getCallReference()
  - Qore::Program::getCallReference()

Since
  Qore 0.9.4

## get_class_name()

string Qore::get_class_name | ( | object | obj | ) |

Returns the class name of the object passed.

Code Flags:
  CONSTANT

Parameters

  obj | the object to get the class name of

Returns
  the class name of the object passed

Example:
  string name = get_class_name(obj);

Note
  equivalent to <object>::className()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case getClassName()

## get_default_encoding()

string Qore::get_default_encoding | ( |  | ) |

Returns the name of the default character encoding.

Returns
  the name of the default character encoding

Example:
  string encoding = get_default_encoding();

## get_ex_pos()

string Qore::get_ex_pos | ( | hash< auto > | ex | ) |

returns a descriptive string for an exception location; the `source` and `offset` information will also be included in the string returned if present in the ExceptionInfo hash argument

Code Flags:
  CONSTANT

Example:
  try {
  throw "oops", sprintf("arg %y is invalid", arg);
  } catch (hash<ExceptionSink> ex) {
  log("%s: %s: %s", get_ex_pos(ex), ex.err, ex.desc);
  }

Parameters

  ex | a hash which should be an ExceptionInfo hash

Returns
  a string describing the exception location (ex: `"sftp-poller.q:140"`)

Since
  Qore 0.8.7

## get_feature_list()

list< string > Qore::get_feature_list | ( |  | ) |

Returns a list of strings of the builtin and module-supplied features of Qore.

Returns
  a list of strings of the builtin and module-supplied features of Qore

Example:
  list<string> l = get_feature_list();

Note
  this function is not flagged with CONSTANT since its value could change at runtime

Since
  Qore 0.8.12 as a replacement for deprecated camel-case getFeatureList()

## get_global_vars()

hash< auto > Qore::get_global_vars | ( |  | ) |

returns a hash of global variables

Code Flags:
  CONSTANT

Example:
  hash<auto> h = get_global_vars();

Returns
  a hash of global variables and their values

See also
  Qore::Program::getGlobalVars()

Since
  Qore 0.8.13

## get_local_vars()

hash< auto > Qore::get_local_vars | ( | int | frame | ) |

retrieves a hash of local variables for the given stack frame

Restrictions:
  MUST HAVE: Qore::PO_ALLOW_DEBUGGER

Code Flags:
  RET_VALUE_ONLY

Example:
  hash<auto> h = get_local_vars(0);
  Qore::get_local_vars
  hash< auto > get_local_vars(int frame)
  retrieves a hash of local variables for the given stack frame
  Qore::hash
  hash< auto > hash()
  Always returns the same hash passed.

Parameters

  frame | the stack frame where 0 is the current stack frame

Returns
  a hash of local variables for the given stack frame; if the stack frame is invalid, an empty hash is returned; hash keys are variable names; hash values are hashes with the following keys:
  - `"type"`: can be either "local" or "closure" for closure-bound local variables
  - `"value"`: the value of the variable

Exceptions

  CIRCULAR-REFERENCE-ERROR | circular reference found when retrieving local variable values

Since
  Qore 0.8.13

## get_module_hash()

hash< string, hash< auto > > Qore::get_module_hash | ( |  | ) |

Returns a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names.

Returns
  a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names; the values are hashes with the following keys:
  - `filename:` the path to the module
  - `name:` the name of the module
  - `desc:` the description of the module
  - `version:` the version of the module
  - `author:` the author of the module
  - `api_major:` the major number of the Qore module API version the module support
  - `api_minor:` the minor number of the Qore module API version the module support
  - `url:` the module's URL
  - `license:` the module's license

Example:
  hash<string, hash<auto>> mh = get_module_hash();

Note
  this function is not flagged with CONSTANT since its value could change at runtime

Since
  Qore 0.8.12 as a replacement for deprecated camel-case getModuleHash()

## get_module_list()

list< hash< auto > > Qore::get_module_list | ( |  | ) |

Returns a list of hashes describing the currently-loaded Qore modules.

Returns
  a list of hashes describing the currently-loaded Qore modules; each element in the list is a hash with the following keys:
  - `filename:` the path to the module
  - `name:` the name of the module
  - `desc:` the description of the module
  - `version:` the version of the module
  - `author:` the author of the module
  - `api_major:` the major number of the Qore module API version the module support
  - `api_minor:` the minor number of the Qore module API version the module support
  - `url:` the module's URL
  - `license:` the module's license

Example:
  list<hash<auto>> l = get_module_list();

Note
  this function is not flagged with CONSTANT since its value could change at runtime

See also
  get_module_hash()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case getModuleList()

## get_module_option()

auto Qore::get_module_option | ( | string | module,
|  | string | option )

returns the given global module option

Restrictions:
  Qore::PO_NO_PROCESS_CONTROL

Code Flags:
  CONSTANT

Example:
  auto val = get_module_option(mod, opt);
  Qore::get_module_option
  auto get_module_option(string module, string option)
  returns the given global module option

Parameters

  module | the name of the module
  option | the name of the option

Returns
  the value of the given module option

See also
  set_module_option()

Since
  Qore 0.9

## get_parse_options()

int Qore::get_parse_options | ( |  | ) |

returns the current parse options for the current Program object

Code Flags:
  CONSTANT

Example:
  int i = get_parse_options();

Returns
  the current parse options for the current Program object

Since
  Qore 0.8.7

## get_qore_library_info()

hash< auto > Qore::get_qore_library_info | ( |  | ) |

Returns a hash of library build and version info.

Returns
  a hash of library build and version info with the following keys:
  - `PlatformOS:` The operating system used to build the Qore library
  - `PlatformCPU:` The CPU used as a target for the Qore library build
  - `VersionString:` The full version string for this version of the Qore library
  - `VersionMajor:` An integer giving the Qore library's major version number
  - `VersionMinor:` An integer giving the Qore library's minor version number
  - `VersionSub:` An integer giving the Qore library's release version number
  - `Build:` An integer giving the Qore library's subversion revision number
  - `BuildHost:` A string giving information about the host used to compile the Qore library
  - `Compiler:` The compiler used to build the Qore library
  - `ModuleDir:` The module directory assumed by default in the Qore library
  - `CFLAGS:` The compiler flags used to compile the Qore library
  - `LDFLAGS:` The linker flags used to link the Qore library

Code Flags:
  CONSTANT

Example:
  hash<auto> h = get_qore_library_info();

## get_qore_option_hash()

hash< string, hash< auto > > Qore::get_qore_option_hash | ( |  | ) |

Returns a hash of hashes giving information about Qore library options for the current build.

Returns
  a hash of hashes giving information about Qore library options for the current build; the hash keys are the constant names and the values are hashes with the following keys:
  - `option:` The string description of the option
  - `constant:` A string giving the name of the constant that has the boolean value for this option (equal to the hash key name)
  - `type:` The type of option
  - `value:` The boolean value of the option

Code Flags:
  CONSTANT

Example:
  hash<string, hash<auto>> h = get_qore_option_hash();

See also
  get_qore_option_list()

Since
  Qore 0.8.4

## get_qore_option_list()

list< hash< auto > > Qore::get_qore_option_list | ( |  | ) |

Returns a list of hashes giving information about Qore library options for the current build.

Returns
  a list of hashes giving information about Qore library options for the current build; each hash will have the following keys:
  - `option:` The string description of the option
  - `constant:` A string giving the name of the constant that has the boolean value for this option
  - `type:` The type of option
  - `value:` The boolean value of the option

Code Flags:
  CONSTANT

Example:
  list<hash<auto>> l = get_qore_option_list();

See also
  get_qore_option_hash()

## get_safe_url()

string Qore::get_safe_url | ( | string | url | ) |

Returns the URL string passed without any password information.

Parameters

  url | the URL to process

Returns
  the URL string passed without any password information

Since
  Qore 1.13

## get_script_dir()

*string Qore::get_script_dir | ( |  | ) |

Returns the name of the directory from which the current script was executed or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Returns
  the name of the directory from which the current script was executed or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Example:
  *string str = get_script_dir();

## get_script_name()

*string Qore::get_script_name | ( |  | ) |

Returns the filename of the current script if known or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Returns
  the filename of the current script if known or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Example:
  *string str = get_script_name();

## get_script_path()

*string Qore::get_script_path | ( |  | ) |

Returns the path (directory and filename) of the current script or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Returns
  the path (directory and filename) of the current script or NOTHING if unknown (i.e. no parent script, script read from stdin, etc)

Example:
  *string str = get_script_path();

## get_word_16() [1/2]

*int Qore::get_word_16 | ( | binary | b,
|  | softint | offset = 0 )

Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 2-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_16(bin, 2); # returns the third 2-byte (16-bit) value in the binary object

See also
  get_word_16_lsb()

## get_word_16() [2/2]

*int Qore::get_word_16 | ( | string | str,
|  | softint | offset = 0 )

Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 2-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_16(str, 2); # returns the third 2-byte (16-bit) value in the string

See also
  get_word_16_lsb()

## get_word_16_lsb() [1/2]

*int Qore::get_word_16_lsb | ( | binary | b,
|  | softint | offset = 0 )

Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 2-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_16_lsb(bin, 2); # returns the third 2-byte (16-bit) value in the binary object

See also
  get_word_16()

## get_word_16_lsb() [2/2]

*int Qore::get_word_16_lsb | ( | string | str,
|  | softint | offset = 0 )

Returns the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 2-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 16-bit integer value at the given 2-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_16_lsb(str, 2); # returns the third 2-byte (16-bit) value in the string

See also
  get_word_16()

## get_word_32() [1/2]

*int Qore::get_word_32 | ( | binary | b,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_32(bin, 2); # returns the third 4-byte (32-bit) value in the binary object

Note
  This function is identical to getWord32(), except this function has no RUNTIME_NOOP variant

See also
  get_word_32_lsb()

## get_word_32() [2/2]

*int Qore::get_word_32 | ( | string | str,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_32(str, 4); # returns the third 4-byte (32-bit) value in the string

Note
  This function is identical to getWord32(), except this function has no RUNTIME_NOOP variant

See also
  get_word_32_lsb()

## get_word_32_lsb() [1/2]

*int Qore::get_word_32_lsb | ( | binary | b,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_32_lsb(bin, 2); # returns the third 4-byte (32-bit) value in the binary object

See also
  get_word_32()

## get_word_32_lsb() [2/2]

*int Qore::get_word_32_lsb | ( | string | str,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_32_lsb(str, 4); # returns the third 4-byte (32-bit) value in the string

Note
  This function is identical to getWord32(), except this function has no RUNTIME_NOOP variant

See also
  get_word_32()

## get_word_64() [1/2]

*int Qore::get_word_64 | ( | binary | b,
|  | softint | offset = 0 )

Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 8-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_64(bin, 2); # returns the third 8-byte (64-bit) value in the binary object

See also
  get_word_64_lsb()

## get_word_64() [2/2]

*int Qore::get_word_64 | ( | string | str,
|  | softint | offset = 0 )

Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 8-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_64(str, 4); # returns the third 8-byte (64-bit) value in the string

See also
  get_word_64_lsb()

## get_word_64_lsb() [1/2]

*int Qore::get_word_64_lsb | ( | binary | b,
|  | softint | offset = 0 )

Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  b | the data to process
  offset | the 8-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_64_lsb(bin, 2); # returns the third 8-byte (64-bit) value in the binary object

See also
  get_word_64()

## get_word_64_lsb() [2/2]

*int Qore::get_word_64_lsb | ( | string | str,
|  | softint | offset = 0 )

Returns the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes LSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT

Parameters

  str | the string data to process
  offset | the 8-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 64-bit integer value at the given 8-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Example:
  *int val = get_word_64_lsb(str, 4); # returns the third 8-byte (64-bit) value in the string

See also
  get_word_64()

## getByte() [1/3]

nothing Qore::getByte | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## getByte() [2/3]

*int Qore::getByte | ( | binary | b,
|  | softint | offset = 0 )

Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  b | the data to process
  offset | the byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Note
  this function is equivalent to the more efficient [] operator when used with a binary argument
  Furthermore this function is identical to get_byte(), except this function has a RUNTIME_NOOP variant

Deprecated
  Qore 0.8.4 marked as deprecated; use the get_byte() function instead

## getByte() [3/3]

*int Qore::getByte | ( | string | str,
|  | softint | offset = 0 )

Returns the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  str | the string data to process
  offset | the byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the byte value at the given byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Note
  that for strings this function is not equivalent to the [] operator for multi-byte character encodings, as this function works purely on bytes and the [] operator operates on characters
  Furthermore this function is identical to get_byte(), except this function has a RUNTIME_NOOP variant

Deprecated
  since Qore 0.8.4 marked as deprecated; use the get_byte() function instead

## getClassName() [1/2]

nothing Qore::getClassName | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## getClassName() [2/2]

string Qore::getClassName | ( | object | obj | ) |

Returns the class name of the object passed.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  obj | the object to get the class name of

Returns
  the class name of the object passed

Deprecated
  use get_class_name(); camel-case function names were deprecated in Qore 0.8.12

## getFeatureList()

list< string > Qore::getFeatureList | ( |  | ) |

Returns a list of strings of the builtin and module-supplied features of Qore.

Code Flags:
  DEPRECATED

Returns
  a list of strings of the builtin and module-supplied features of Qore

Note
  this function is not flagged with CONSTANT since its value could change at runtime

Deprecated
  use get_feature_list(); camel-case function names were deprecated in Qore 0.8.12

## getModuleHash()

hash< string, hash< auto > > Qore::getModuleHash | ( |  | ) |

Returns a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names.

Code Flags:
  DEPRECATED

Returns
  a hash of hashes describing the currently-loaded Qore modules; the top-level hash keys are the module names; the values are hashes with the following keys:
  - `filename:` the path to the module
  - `name:` the name of the module
  - `desc:` the description of the module
  - `version:` the version of the module
  - `author:` the author of the module
  - `api_major:` the major number of the Qore module API version the module support
  - `api_minor:` the minor number of the Qore module API version the module support
  - `url:` the module's URL
  - `license:` the module's license

Note
  this function is not flagged with CONSTANT since its value could change at runtime

Since
  Qore 0.8.1

Deprecated
  use get_module_hash(); camel-case function names were deprecated in Qore 0.8.12

## getModuleList()

list< hash< auto > > Qore::getModuleList | ( |  | ) |

Returns a list of hashes describing the currently-loaded Qore modules.

Code Flags:
  DEPRECATED

Returns
  a list of hashes describing the currently-loaded Qore modules; each element in the list is a hash with the following keys:
  - `filename:` the path to the module
  - `name:` the name of the module
  - `desc:` the description of the module
  - `version:` the version of the module
  - `author:` the author of the module
  - `api_major:` the major number of the Qore module API version the module support
  - `api_minor:` the minor number of the Qore module API version the module support
  - `url:` the module's URL
  - `license:` the module's license

Note
  this function is not flagged with CONSTANT since its value could change at runtime

See also
  get_module_hash()

Deprecated
  use get_module_list(); camel-case function names were deprecated in Qore 0.8.12

## getWord32() [1/3]

nothing Qore::getWord32 | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## getWord32() [2/3]

*int Qore::getWord32 | ( | binary | b,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  b | the data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Note
  This function is identical to get_word_32(), except this function has a RUNTIME_NOOP variant

Deprecated
  Qore 0.8.4 marked as deprecated; use the get_word_32() function instead

## getWord32() [3/3]

*int Qore::getWord32 | ( | string | str,
|  | softint | offset = 0 )

Returns the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data.

This function assumes MSB byte order when retrieving the value from the data

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  str | the string data to process
  offset | the 4-byte offset of the data to retrieve (the first value is at offset 0)

Returns
  the 32-bit integer value at the given 4-byte offset (the first value is at offset 0) or NOTHING if the offset is not legal for the given data

Note
  This function is identical to get_word_32(), except this function has a RUNTIME_NOOP variant

Deprecated
  Qore 0.8.4 marked as deprecated; use the get_word_32() function instead

## has_key() [1/2]

bool Qore::has_key | ( | hash< auto > | h,
|  | string | key )

Returns True if the given key exists in the hash (does not necessarily have to have a value assigned); exceptions are only raised if string encoding errors are encountered.

Parameters

  h | the hash to check
  key | the key name to check; this value will be converted to the default character encoding to check the hash

Returns
  True if the given key exists in the hash (does not necessarily have to have a value assigned), False if the key is not present at all

Example:
  bool b = has_key(hash, "key");

Note
  no exception is thrown when checking an invalid key in a hashdecl-derived hash

Exceptions

  ENCODING-CONVERSION-ERROR | this error is thrown if the given key cannot be converted to the default character encoding

## has_key() [2/2]

bool Qore::has_key | ( | object | obj,
|  | string | key )

Returns True if the given key exists in the object (does not necessarily have to have a value assigned); exceptions are only raised if string encoding errors are encountered or in case of object access errors.

Example:
  bool b = has_key(obj, "key");

Exceptions

  ENCODING-CONVERSION-ERROR | this error is thrown if the given key cannot be converted to the default character encoding

Note
  object access exceptions could also be raised

## hash_values() [1/2]

nothing Qore::hash_values | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## hash_values() [2/2]

list< auto > Qore::hash_values | ( | hash< auto > | h | ) |

Returns a list of all the values in the hash argument passed.

Code Flags:
  CONSTANT

Parameters

  h | a hash to get all the values of

Returns
  a list of all the values in the hash argument passed

Example:
  list<auto> vl = hash_values(vl);

Note
  equivalent to <hash>::values()

See also
  <hash>::keys()

## hextoint() [1/2]

nothing Qore::hextoint | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## hextoint() [2/2]

int Qore::hextoint | ( | string | str | ) |

Returns an integer for a hexadecimal string value; throws an exception if non-hex digits are found.

Parameters

  str | a string of hexadecimal digits (like `"6d4f84e0"`; with or without leading `"x"` or `"0x"`)

Returns
  the base-10 integer corresponding to the argument

Example:
  int i = hextoint("ab3d4e0f12");

Exceptions

  PARSE-HEX-ERROR | invalid hex digit found

## html_decode() [1/2]

nothing Qore::html_decode | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## html_decode() [2/2]

string Qore::html_decode | ( | string | str | ) |

Returns a string with any HTML escape codes translated to the original characters.

Code Flags:
  CONSTANT

Parameters

  str | the argument to decode

Returns
  the string passed as an argument with any HTML escape codes translated to the original characters

Example:
  string str = html_decode("&lt;hello&gt;"); # returns "<hello>"

Note
  equivalent to <string>::getDecoded() with Qore::CD_HTML

See also
  <string>::getDecoded()

## html_encode() [1/2]

nothing Qore::html_encode | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## html_encode() [2/2]

string Qore::html_encode | ( | string | str | ) |

Returns a string with characters needing HTML escaping translated to HTML escape codes.

Code Flags:
  CONSTANT

Parameters

  str | the argument to process

Returns
  the string passed as an argument with characters needing HTML escaping translated to HTML escape codes

Example:
  string str = html_encode("<hello>"); # returns "&lt;hello&gt;"

Note
  equivalent to <string>::getEncoded() with Qore::CE_HTML

See also
  <string>::getEncoded()

## load_module() [1/2]

nothing Qore::load_module | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Restrictions:
  Qore::PO_NO_MODULES

Code Flags:
  RUNTIME_NOOP

## load_module() [2/2]

nothing Qore::load_module | ( | string | name,
|  | int | warning_mask = WARN_MODULES )

Loads in a Qore module at run-time.

If a feature with the same name already exists, then this feature's code is imported into the current Program object if necessary and no further action is taken.

Note that modules providing objects resolved at parse time (classes, constants, functions, etc) must be loaded with the %requires directive instead, unless all references to the objects provided by the module will be made in code embedded in child Program objects.

Restrictions:
  Qore::PO_NO_MODULES

Parameters

  name | either a feature name (a module will be searched with this feature name) or a path to a module to load
  warning_mask | the warning mask to use when loading the module; note that warnings are treated as errors

Example:
  load_module("mysql");

Exceptions

  LOAD-MODULE-ERROR | module cannot be loaded: API incompatibility, module defines symbols already defined in the target object, etc

See also
  - get_module_hash()
  - get_feature_list()

Since
  - Qore 0.8.7 this function can also be used in user module code
  - Qore 0.9 added the `warning_mask` parameter

## load_module_warn()

*hash< ExceptionInfo > Qore::load_module_warn | ( | string | name,
|  | int | warning_mask = WARN_MODULES )

Loads in a Qore module at run-time.

If a feature with the same name already exists, then this feature's code is imported into the current Program object if necessary and no further action is taken.

Note that modules providing objects resolved at parse time (classes, constants, functions, etc) must be loaded with the %requires directive instead, unless all references to the objects provided by the module will be made in code embedded in child Program objects.

Restrictions:
  Qore::PO_NO_MODULES

Parameters

  name | either a feature name (a module will be searched with this feature name) or a path to a module to load
  warning_mask | the warning mask to use when loading the module; note that warnings are treated as errors

Example:
  load_module("mysql");

Exceptions

  LOAD-MODULE-ERROR | module cannot be loaded: API incompatibility, module defines symbols already defined in the target object, etc

See also
  - get_module_hash()
  - get_feature_list()

Since
  - Qore 0.8.7 this function can also be used in user module code
  - Qore 0.9 added the `warning_mask` parameter

## load_user_module_with_program()

nothing Qore::load_user_module_with_program | ( | string | name,
|  | Qore::Program | pgm )

Loads in a Qore user module at run-time with using the given Program object as the container for the user module code.

This function allows a user module to be loaded with a custom API already present in the user module's Program container

Restrictions:
  Qore::PO_NO_MODULES

Example:
  load_user_module_with_program("MyModule", p);

Parameters

  name | the name or path of the user module to load
  pgm | the Program object to use as a container for the new user module, presumably this has a custom API that the user module can use; note that after this call the Program object will be owned by the user module, therefore the object itself will no longer be valid and any accesses to the object after this call will result in an exception

Exceptions

  LOAD-MODULE-ERROR | module cannot be loaded: binary modules cannot be loaded in Program containers, module defines symbols already defined in the target object, etc

Since
  Qore 0.8.12

## make_base64_string() [1/2]

string Qore::make_base64_string | ( | binary | bin,
|  | softint | maxlinelen = -1 )

Returns a base64-encoded representation of a binary object.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  CONSTANT

Parameters

  bin | the data to encode
  maxlinelen | the maximum length of a line in the resulting output string in bytes; if this value is > 0 then output lines will be separated by CRLF characters

Returns
  the base64-encoded string of the data passed

Example:
  string base64 = make_base64_string(data, 64);

See also
  - <binary>::toBase64()
  - make_hex_string(binary)

Since
  Qore 0.8.12 as a replacement for deprecated camel-case makeBase64String()

## make_base64_string() [2/2]

string Qore::make_base64_string | ( | string | str,
|  | softint | maxlinelen = -1 )

Returns a base64-encoded representation of a string.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  CONSTANT

Parameters

  str | the string to encode
  maxlinelen | the maximum length of a line in the resulting output string in bytes; if this value is > 0 then output lines will be separated by CRLF characters

Returns
  the base64-encoded string of the data passed

Example:
  string base64 = make_base64_string(data, 64);

See also
  - <string>::toBase64()
  - make_hex_string(string)

Since
  Qore 0.8.12 as a replacement for deprecated camel-case makeBase64String()

## make_base64_url_string() [1/2]

string Qore::make_base64_url_string | ( | binary | bin | ) |

Returns a base64-url-encoded representation of a binary object.

Just like make_base64_string() but with `"+"` and `"/"` subject to URL percent encoding

Code Flags:
  CONSTANT

Parameters

  bin | the data to encode

Returns
  the base64-encoded string of the data passed

Example:
  string base64 = make_base64_url_string(data);

See also
  - <binary>::toBase64Url()

Since
  Qore 1.19.0

## make_base64_url_string() [2/2]

string Qore::make_base64_url_string | ( | string | str | ) |

Returns a base64-url-encoded representation of a string.

Just like make_base64_string() but with `"+"` and `"/"` subject to URL percent encoding

Code Flags:
  CONSTANT

Parameters

  str | the string to encode

Returns
  the base64-url-encoded string of the data passed

Example:
  string base64 = make_base64_url_string(data);

See also
  - <string>::toBase64Url()

Since
  Qore 1.19.0

## make_hex_string() [1/2]

string Qore::make_hex_string | ( | binary | bin | ) |

Returns a hex-encoded representation of a binary object.

Code Flags:
  CONSTANT

Parameters

  bin | the binary object to encode

Returns
  a string of hex digits repsenting the bytes of the argument passed

Example:
  string str = make_hex_string(bin);

See also
  - <binary>::toHex()
  - make_base64_string(binary, softint)
  - parse_hex_string()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case makeHexString()

## make_hex_string() [2/2]

string Qore::make_hex_string | ( | string | str | ) |

Returns a hex-encoded representation of a string.

Code Flags:
  CONSTANT

Parameters

  str | the string to encode

Returns
  a string of hex digits repsenting the bytes of the argument passed

Example:
  string str = make_hex_string(str2);

See also
  - <binary>::toHex()
  - make_base64_string(binary, softint)
  - parse_hex_string()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case makeHexString()

## makeBase64String() [1/3]

nothing Qore::makeBase64String | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## makeBase64String() [2/3]

string Qore::makeBase64String | ( | binary | bin,
|  | softint | maxlinelen = -1 )

Returns a base64-encoded representation of a binary object.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  bin | the data to encode
  maxlinelen | the maximum length of a line in the resulting output string in bytes; if this value is > 0 then output lines will be separated by CRLF characters

Returns
  the base64-encoded string of the data passed

Since
  the maxlinelen parameter was added in Qore 0.8.4

See also
  - <binary>::toBase64()
  - make_hex_string(binary)

Deprecated
  use make_base64_string(); camel-case function names were deprecated in Qore 0.8.12

## makeBase64String() [3/3]

string Qore::makeBase64String | ( | string | str,
|  | softint | maxlinelen = -1 )

Returns a base64-encoded representation of a string.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  str | the string to encode
  maxlinelen | the maximum length of a line in the resulting output string in bytes; if this value is > 0 then output lines will be separated by CRLF characters

Returns
  the base64-encoded string of the data passed

Since
  the maxlinelen parameter was added in Qore 0.8.4

See also
  - <string>::toBase64()
  - make_hex_string(string)

Deprecated
  use make_base64_string(); camel-case function names were deprecated in Qore 0.8.12

## makeHexString() [1/3]

nothing Qore::makeHexString | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## makeHexString() [2/3]

string Qore::makeHexString | ( | binary | bin | ) |

Returns a hex-encoded representation of a binary object.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  bin | the binary object to encode

Returns
  a string of hex digits repsenting the bytes of the argument passed

See also
  - <binary>::toHex()
  - make_base64_string(string, softint)
  - parse_hex_string()

Deprecated
  use make_hex_string(); camel-case function names were deprecated in Qore 0.8.12

## makeHexString() [3/3]

string Qore::makeHexString | ( | string | str | ) |

Returns a hex-encoded representation of a string.

Code Flags:
  CONSTANT, DEPRECATED

Parameters

  str | the string to encode

Returns
  a string of hex digits repsenting the bytes of the argument passed

See also
  - <string>::toHex()
  - make_base64_string(string, softint)
  - parse_hex_string()

Deprecated
  use make_hex_string(); camel-case function names were deprecated in Qore 0.8.12

## parse() [1/2]

nothing Qore::parse | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Restrictions:
  Qore::PO_NO_EMBEDDED_LOGIC, Qore::PO_IN_MODULE

Code Flags:
  RUNTIME_NOOP

## parse() [2/2]

*hash< auto > Qore::parse | ( | string | code,
|  | string | label,
|  | *softint | warning_mask,
|  | *string | source,
|  | *softint | offset,
|  | softbool | format_label = True )

Adds the text passed to the current program's code, tagged with the given label.

Restrictions:
  Qore::PO_NO_EMBEDDED_LOGIC, Qore::PO_IN_MODULE

Parameters

  code | the string of Qore source code to parse; the parsed code will be added to the current program
  label | a label identifying the code or the code's source
  warning_mask | An optional warning mask; see Warning Constants for values to combine by binary-or; if this arguments is 0 or not given then no warnings will be checked or issued and the return value will always be NOTHING
  source | An optional source file name for the code being parsed; this is useful if sections of a file are parsed
  offset | An optional line offset for use with the source parameter; this gives the line offset in the file to the code being parsed
  format_label | Qore 0.9 is obsolete / ignored

Example:
  parse(code, filename);

Note
  This function could throw many parse exceptions which are not enumerated here; any parse errors will result in an appropriate exception.

See also
  - Qore::Program::parse()
  - Qore::Program::parsePending()

Since
  Qore 0.8.7 the optional warning_mask, source, offset, and format_label arguments were added; Qore 0.9 the format_label is obsolete / ignored; these changes were made to align the functionality of this function with the Program::parse() and Program::parsePending() methods

## parse_base64_string()

binary Qore::parse_base64_string | ( | string | str | ) |

Parses a base64 encoded string and returns a binary object of the decoded data.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  RET_VALUE_ONLY

Parameters

  str | the base64-encoded input data to decode

Returns
  a binary object of the decoded data

Example:
  binary bin = parse_base64_string(base64_string);

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

See also
  - parse_hex_string()
  - parse_base64_string_to_string()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case parseBase64String()

## parse_base64_string_to_string()

string Qore::parse_base64_string_to_string | ( | string | str,
|  | *string | encoding )

Parses a base64 encoded string and returns a string of the decoded data.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  RET_VALUE_ONLY

Parameters

  str | the base64-encoded input data to decode
  encoding | the character encoding tag for the string return value; if not present, the default character encoding is assumed.

Returns
  a string of the decoded data tagged with the given encoding

Example:
  string str = parse_base64_string_to_string(base64_string);

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

See also
  - parse_hex_string()
  - parse_base64_string_to_string()

Since
  - the encoding parameter was added in Qore 0.8.4
  - Qore 0.8.12 as a replacement for deprecated camel-case parseBase64StringToString()

## parse_base64_url_string()

binary Qore::parse_base64_url_string | ( | string | str | ) |

Parses a base64-url-encoded string and returns a binary object of the decoded data.

Base64-URL encoding is defined by RFC-4648

Code Flags:
  RET_VALUE_ONLY

Parameters

  str | the base64-url-encoded input data to decode

Returns
  a binary object of the decoded data

Example:
  binary bin = parse_base64_url_string(base64_string);

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

See also
  - parse_base64_string()

Since
  Qore 2.0

## parse_base64_url_string_to_string()

string Qore::parse_base64_url_string_to_string | ( | string | str,
|  | *string | encoding )

Parses a base64-url-encoded string and returns a string of the decoded data.

Base64-URL encoding is defined by RFC-4648

Code Flags:
  RET_VALUE_ONLY

Parameters

  str | the base64-url-encoded input data to decode
  encoding | the character encoding tag for the string return value; if not present, the default character encoding is assumed.

Returns
  a string of the decoded data tagged with the given encoding

Example:
  string str = parse_base64_url_string_to_string(base64_string);

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

See also
  - parse_base64_string_to_string()

Since
  Qore 2.0

## parse_hex_string()

binary Qore::parse_hex_string | ( | string | hexstr | ) |

Parses a hex-encoded string and returns the binary object.

Code Flags:
  RET_VALUE_ONLY

Parameters

  hexstr | a string of an even-number of only hexadecimal digits

Returns
  a binary object of the decoded data

Example:
  binary bin = parseHexString(hex_string);

Exceptions

  PARSE-HEX-ERROR | A syntax error occurred parsing the hex string (odd number of digits, invalid hex character, etc)

See also
  - parse_base64_string()
  - make_hex_string()

Since
  Qore 0.8.12 as a replacement for deprecated camel-case parseHexString()

## parse_url() [1/2]

hash< UrlInfo > Qore::parse_url | ( | string | url,
|  | *int | options )

Parses a URL string and returns a hash of the components.

Throws an exception if the string cannot be parsed as a URL

Parameters

  url | the URL to parse (ex: `"https://user:pass@host:8080/path"`); either a hostname or path is required at a minimum or a `PARSE-URL-ERROR` exception is raised
  options | a bitfield of URL Parsing Options

Returns
  a hash of the components of the URL with the following keys (if data in the URL is present; note that at least either the `"host"` or the `"path"` keys will always be returned if no `PARSE-URL-ERROR` is raised):
  - `protocol:` the scheme in the URL (ex: `"http"`)
  - `path:` any path given in the URL; the path will be prefixed by `"/"` if a hostname is found in the URL argument string, otherwise it will not if it was not given as such in the argument string; subject to percent decoding if QURL_DECODE passed in options
  - `username:` any username given in the URL; subject to percent decoding if QURL_DECODE or QURL_DECODE_PATH passed in options
  - `password:` any password given in the URL; subject to percent decoding if QURL_DECODE or QURL_DECODE_PATH passed in options
  - `host:` any hostname given in the URL; note that this key will be given if no other information can be found in the URL argument and the URL argument string has no `"/"` characters; depending on the usage context for this function, this may actually be a filename; subject to percent decoding if QURL_DECODE or QURL_DECODE_PATH passed in options
  - `port:` any port number given in the URL

Example:
  hash<UrlInfo> h = parse_url(url_string, QURL_DECODE);

Exceptions

  PARSE-URL-ERROR | The URL string given could not be parsed

Note
  - URLs with UNIX sockets are generally supported in Qore with the following syntax: `scheme://socket=`url_encoded_path`/path`, where url_encoded_path is a path with URL-encoding as performed by encode_url(string, True); for example: `"http://socket=%2ftmp%socket-dir%2fsocket-file-1/url/path"`; this allows a filesystem path to be used in the host portion of the URL and for the URL to include a URL path as well.

See also
  - parseURL() for a version of this function that does not throw exceptions if the URL cannot be parsed

## parse_url() [2/2]

hash< UrlInfo > Qore::parse_url | ( | string | url,
|  | bool | keep_brackets )

Parses a URL string and returns a hash of the components.

Throws an exception if the string cannot be parsed as a URL; does not perform percent decoding

Parameters

  url | the URL to parse (ex: `"https://user:pass@host:8080/path"`); either a hostname or path is required at a minimum or a `PARSE-URL-ERROR` exception is raised
  keep_brackets | if this argument is true then if the hostname or address is enclosed in square brackets, then the brackets will be included in the `"host"` key output as well; square brackets are used by some Qore methods to denote IPv6 addresses; for example see Socket::connect()

Returns
  a hash of the components of the URL with the following keys (if data in the URL is present; note that at least either the `"host"` or the `"path"` keys will always be returned if no `PARSE-URL-ERROR` is raised):
  - `protocol:` the scheme in the URL (ex: `"http"`)
  - `path:` any path given in the URL; the path will be prefixed by `"/"` if a hostname is found in the URL argument string, otherwise it will not if it was not given as such in the argument string - not subjected to percent decoding (see note below)
  - `username:` any username given in the URL - not subjected to percent decoding (see note below)
  - `password:` any password given in the URL - not subjected to percent decoding (see note below)
  - `host:` any hostname given in the URL; note that this key will be given if no other information can be found in the URL argument and the URL argument string has no `"/"` characters; depending on the usage context for this function, this may actually be a filename
  - `port:` any port number given in the URL

Example:
  hash<UrlInfo> h = parse_url(url_string, True);

Exceptions

  PARSE-URL-ERROR | The URL string given could not be parsed

Note
  - URLs with UNIX sockets are generally supported in Qore with the following syntax: `scheme://socket=`url_encoded_path`/path`, where url_encoded_path is a path with URL-encoding as performed by encode_url(string, True); for example: `"http://socket=%2ftmp%socket-dir%2fsocket-file-1/url/path"`; this allows a filesystem path to be used in the host portion of the URL and for the URL to include a URL path as well.
  - none of the string fields returned here are subjected to percent decoding; to decode percent encoding, call decode_url() on the strings manually or use the parse_url(string, *int) variant with the QURL_DECODE or QURL_DECODE_PATH option

See also
  parseURL() for a version of this function that does not throw exceptions if the URL cannot be parsed

## parseBase64String() [1/2]

nothing Qore::parseBase64String | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## parseBase64String() [2/2]

binary Qore::parseBase64String | ( | string | str | ) |

Parses a base64 encoded string and returns a binary object of the decoded data.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  RET_VALUE_ONLY, DEPRECATED

Parameters

  str | the base64-encoded input data to decode

Returns
  a binary object of the decoded data

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

See also
  - parse_hex_string()
  - parse_base64_string_to_string()

Deprecated
  use parse_base64_string(); camel-case function names were deprecated in Qore 0.8.12

## parseBase64StringToString() [1/2]

nothing Qore::parseBase64StringToString | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## parseBase64StringToString() [2/2]

string Qore::parseBase64StringToString | ( | string | str,
|  | *string | encoding )

Parses a base64 encoded string and returns a string of the decoded data.

Implementation based on RFC-1421 and RFC-2045

Code Flags:
  RET_VALUE_ONLY, DEPRECATED

Parameters

  str | the base64-encoded input data to decode
  encoding | the character encoding tag for the string return value; if not present, the default character encoding is assumed.

Returns
  a string of the decoded data tagged with the given encoding

Exceptions

  BASE64-PARSE-ERROR | A syntax error occurred parsing the base64 string (invalid character, etc)

Since
  the encoding parameter was added in Qore 0.8.4

See also
  - parse_hex_string()
  - parse_base64_string()

Deprecated
  use parse_base64_string_to_string(); camel-case function names were deprecated in Qore 0.8.12

## parseHexString() [1/2]

nothing Qore::parseHexString | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP, DEPRECATED

## parseHexString() [2/2]

binary Qore::parseHexString | ( | string | hexstr | ) |

Parses a hex-encoded string and returns the binary object.

Code Flags:
  RET_VALUE_ONLY, DEPRECATED

Parameters

  hexstr | a string of an even-number of only hexadecimal digits

Returns
  a binary object of the decoded data

Exceptions

  PARSE-HEX-ERROR | A syntax error occurred parsing the hex string (odd number of digits, invalid hex character, etc)

See also
  - parse_base64_string()
  - make_hex_string()

Deprecated
  use parse_hex_string(); camel-case function names were deprecated in Qore 0.8.12

## parseURL() [1/2]

nothing Qore::parseURL | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## parseURL() [2/2]

*hash< UrlInfo > Qore::parseURL | ( | string | url,
|  | bool | keep_brackets = False )

Parses a URL string and returns a hash of the components; if the URL cannot be parsed then NOTHING is returned.

Code Flags:
  CONSTANT

Parameters

  url | the URL to parse (ex: `"https://user:pass@host:8080/path"`); either a hostname or path is required at a minimum or the function will return NOTHING
  keep_brackets | if this argument is true then if the hostname or address is enclosed in square brackets, then the brackets will be included in the `"host"` key output as well; square brackets are used by some Qore methods to denote IPv6 addresses; for example see Socket::connect()

Returns
  a hash of the components of the URL with the following keys (if data in the URL is present; note that at least either the `"host"` or the `"path"` keys will always be returned if a hash is returned):
  - `protocol:` the scheme in the URL (ex: `"http"`)
  - `path:` any path given in the URL; the path will be prefixed by `"/"` if a hostname is found in the URL argument string, otherwise it will not if it was not given as such in the argument string - not subjected to percent decoding (see note below)
  - `username:` any username given in the URL - not subjected to percent decoding (see note below)
  - `password:` any password given in the URL - not subjected to percent decoding (see note below)
  - `host:` any hostname given in the URL; note that this key will be given if no other information can be found in the URL argument and the URL argument string has no `"/"` characters; depending on the usage context for this function, this may actually be a filename - not subjected to percent decoding (see note below)
  - `port:` any port number given in the URL

Example:
  *hash<UrlInfo> h = parseURL(url_string);

Note
  - URLs with UNIX sockets are generally supported in Qore with the following syntax: `scheme://socket=`url_encoded_path`/path`, where url_encoded_path is a path with URL-encoding as performed by encode_url(string, True); for example: `"http://socket=%2ftmp%socket-dir%2fsocket-file-1/url/path"`; this allows a filesystem path to be used in the host portion of the URL and for the URL to include a URL path as well.
  - none of the string fields returned here are subjected to percent decoding; to decode percent encoding, call decode_url() on the strings manually or use the parse_url(string, *int) variant with the QURL_DECODE or QURL_DECODE_PATH options

See also
  parse_url() for a version of this function that throws exceptions if the URL cannot be parsed

## reload_module()

nothing Qore::reload_module | ( | string | name | ) |

Reloads an already-loaded Qore module subject to code injection at run-time into Qore; the module's code is not imported into the current Program object.

Restrictions:
  Qore::PO_NO_MODULES, MUST HAVE: Qore::PO_ALLOW_INJECTION

Parameters

  name | a feature name for an already-loaded module

Example:
  reload_module("FixedLengthUtil");

Exceptions

  LOAD-MODULE-ERROR | module cannot be loaded: API incompatibility, etc

Note
  - unlike load_module(), this function does not cause the given module's code to be loaded in the current Program object
  - in case the given feature has not been loaded or has already been loaded and was not subject to code injection, this call is silently ignored

See also
  - load_module()

Since
  Qore 0.8.12

## set_global_var_value()

nothing Qore::set_global_var_value | ( | string | name,
|  | auto | value )

set the value of a global variable

Example:
  set_global_var_value("a", 1);
  Qore::set_global_var_value
  nothing set_global_var_value(string name, auto value)
  set the value of a global variable

Parameters

  name | the name of the variable
  value | the value to assign

Exceptions

  UNKNOWN-VARIABLE | the variable is not a global variable

Note
  other exceptions could be thrown if the value cannot be assigned to the given variable

See also
  Qore::Program::setGlobalVarValue()

Since
  Qore 0.8.13

## set_local_var_value()

nothing Qore::set_local_var_value | ( | int | frame,
|  | string | var,
|  | auto | value )

sets the value of the given local variable; if the variable cannot be found an exception is raised

Restrictions:
  MUST HAVE: Qore::PO_ALLOW_DEBUGGER

Example:
  set_local_var_value(0, "var", 1);
  Qore::set_local_var_value
  nothing set_local_var_value(int frame, string var, auto value)
  sets the value of the given local variable; if the variable cannot be found an exception is raised

Parameters

  frame | the stack frame where 0 is the current or highest stack frame
  var | the name of the local variable
  value | the value to assign

Exceptions

  UNKNOWN-VARIABLE | the given local variable is not present in the current stack frame

Note
  - other exceptions could be raised when making the assignment such as incompatible type exceptions
  - pure local variables (i.e. not closure bound and not subject to the reference operator) are not stored with type information at runtime; type information is only enforced at parse / compile time, therefore it's possible to set local variables with invalid values that contradict their declarations with this function

Since
  Qore 0.8.13

## set_module_option()

nothing Qore::set_module_option | ( | string | module,
|  | string | option,
|  | auto | value )

set the given module option

Restrictions:
  Qore::PO_NO_PROCESS_CONTROL

Example:
  set_module_option(mod, opt, val);
  Qore::set_module_option
  nothing set_module_option(string module, string option, auto value)
  set the given module option

Parameters

  module | the name of the module
  option | the name of the option
  value | the value to assign; setting to NOTHING removes the module option

See also
  get_module_option()

Since
  Qore 0.9

## set_return_value()

Qore::set_return_value | ( | auto | val | ) |

sets the return value for a Program object when running with %exec-class

Restrictions:
  Qore::PO_NO_PROCESS_CONTROL

Example:
  set_return_value(1);

Parameters

  val | the return value for the Program

Exceptions

  SETRETURNVALUE-ERROR | this exception is thrown if the Program is not currently running in %exec-class mode

Since
  Qore 0.8.12

## splice() [1/7]

nothing Qore::splice | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## splice() [2/7]

list< auto > Qore::splice | ( | list< auto > | l,
|  | softint | start )

Returns a list based on the argument list but with elements removed from the given index to the end of the list.

Exceptions can only be thrown here if objects are removed from the list and this causes them to go out of scope and an exception is thrown in one of the destructors

Parameters

  l | the list to process
  start | the starting element (where the first element is 0) to start removing elements; if this value is negative, it gives the offset from the end of the list

Example:
  list<auto> l = splice(l2, 5);

See also
  the splice operator

## splice() [3/7]

list< auto > Qore::splice | ( | list< auto > | l,
|  | softint | start,
|  | softint | len )

Returns a list based on the argument list but optionally with elements removed and/or added from a certain index.

Exceptions can only be thrown here if objects are removed from the list and this causes them to go out of scope and an exception is thrown in one of the destructors

Parameters

  l | the list to process
  start | the starting element (where the first element is 0) to start removing (and/or adding) elements; if this value is negative, it gives the offset from the end of the list
  len | the number of list elements to remove; if this argument is 0 then no elements are removed; if this value is negative, then it gives an offset from the end of the list (ie -2 means remove all elements up to but not including the two last elements)

Returns
  the processed list with elements removed and/or added according to the arguments

Example:
  list<auto> l = splice(l2, 5, 7);

See also
  the splice operator

## splice() [4/7]

list< auto > Qore::splice | ( | list< auto > | l,
|  | softint | start,
|  | softint | len,
|  | softlist< auto > | nlist )

Returns a list based on the argument list but optionally with elements removed and/or added from a certain index.

Exceptions can only be thrown here if objects are removed from the list and this causes them to go out of scope and an exception is thrown in one of the destructors

Parameters

  l | the list to process
  start | the starting element (where the first element is 0) to start removing (and/or adding) elements; if this value is negative, it gives the offset from the end of the list
  len | the number of list elements to remove; if this argument is 0 then no elements are removed; if this value is negative, then it gives an offset from the end of the list (ie -2 means remove all elements up to but not including the two last elements)
  nlist | the new list for inserting new elements

Returns
  the processed list with elements removed and/or added according to the arguments

Example:
  list<auto> l = splice(l2, 5, 7, "hello");

See also
  the splice operator

## splice() [5/7]

string Qore::splice | ( | string | str | ) |

This function always returns an empty string `""`.

This function variant is included for backwards-compatibility

Code Flags:
  NOOP

Parameters

  str | no action is taken on the argument

Returns
  always returns an empty string `""`

## splice() [6/7]

string Qore::splice | ( | string | str,
|  | softint | start )

Returns a string based on the argument string but with characters removed from a certain character index.

An exception can only be thrown here if an invalid multi-byte encoding is found

Parameters

  str | the string to process
  start | the character index (where the first character is 0) to start removing characters; if this value is negative, it gives the offset from the end of the string

Returns
  the processed string

Example:
  string str = splice(str2, 5);

See also
  the splice operator

## splice() [7/7]

string Qore::splice | ( | string | str,
|  | softint | start,
|  | softint | len,
|  | *string | nstr )

Returns a string based on the argument string but optionally with characters removed and/or added from a certain character index.

An exception can only be thrown here if an invalid multi-byte encoding is found

Parameters

  str | the string to process
  start | the character index (where the first character is 0) to start removing (and/or adding) characters; if this value is negative, it gives the offset from the end of the string
  len | the number of characters to remove; if this argument is 0 then no characters are removed; if this value is negative, then it gives an offset from the end of the string (ie -2 means remove all characters up to but not including the two last characters)
  nstr | the optional string for inserting new characters

Returns
  the processed string with characters removed and/or added according to the arguments

Example:
  string str = splice(str2, 5, 7, "hello");

See also
  the splice operator

## strtoint() [1/2]

nothing Qore::strtoint | ( |  | ) |

This function variant does nothing at all; it is only included for backwards-compatibility with qore prior to version 0.8.0 for functions that would ignore type errors in arguments.

Code Flags:
  RUNTIME_NOOP

## strtoint() [2/2]

int Qore::strtoint | ( | string | num,
|  | softint | base = 10 )

parses a string representing a number in a configurable base and returns the integer

Parameters

  num | a string representing a number
  base | the base of the number

Returns
  the integer represented by the string and the base

Example:
  int i = strtoint("41", 8);

Exceptions

  STRTOINT-ERROR | cannot parse string; unsupported base, etc