| Qore Programming Language Reference Manual 1.0.8

Variables
Parse Option Constants

## Variables
const | Qore::DomainCodeMap = qore(pomaps.getDomainToStringMap())
| Maps from functional domain bitfield code values (as string keys) to functional domain names. More...
const | Qore::DomainStringMap = qore(pomaps.getStringToDomainMap())
| Maps from functional domain strings to functional domain bitfield integer codes. More...
const | Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS
| Prohibits the use of the '$' character in variable names, method calls, and object member references. More...
const | Qore::PO_ALLOW_DEBUGGER = PO_ALLOW_DEBUGGER
| Allows the use of functionality required to implement a debugger, mainly via DebugProgram. More...
const | Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION
| Allows code/dependency injections in the contained Program object. More...
const | Qore::PO_ALLOW_RETURNS = PO_ALLOW_RETURNS
| Allows the use of the deprecated `returns` keyword. More...
const | Qore::PO_ALLOW_STATEMENT_NO_EFFECT = PO_ALLOW_STATEMENT_NO_EFFECT
| Allows for old pre-Qore 0.9 top-level statements having no effect. More...
const | Qore::PO_ALLOW_WEAK_REFERENCES = PO_ALLOW_WEAK_REFERENCES
| Allows the use of the weak assignment operator (:=). More...
const | Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL
| Assume local variable scope when variables are first referenced if no `my or` `our is` present. More...
const | Qore::PO_BROKEN_CAST = PO_BROKEN_CAST
| Allows for old pre-Qore 0.9.4 broken cast<> operator behavior where NOTHING was silently accepted. More...
const | Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS
| allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored More...
const | Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING
| allows for old pre-Qore 0.8.12 broken list rewriting in the parser More...
const | Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE
| allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators More...
const | Qore::PO_BROKEN_LOOP_STATEMENT = PO_BROKEN_LOOP_STATEMENT
| allows for old pre-Qore 0.8.13 handling of break and continue More...
const | Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS
| allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces More...
const | Qore::PO_BROKEN_RANGE = PO_BROKEN_RANGE
| allows for old pre-Qore 0.9.5 handling of range() and xrange() More...
const | Qore::PO_BROKEN_REFERENCES = PO_BROKEN_REFERENCES
| allows for old pre-Qore 0.8.13 handling of reference and *reference More...
const | Qore::PO_BROKEN_SPRINTF = PO_BROKEN_SPRINTF
| Enables broken sprintf() handling where no argument is treated diffferently than NOTHING. More...
const | Qore::PO_DEFAULT = PO_DEFAULT
| This option is the empty option, meaning no options are set.
const | Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS
| mask of options that have no effect on code access or code safety but just affect programming style More...
const | Qore::PO_IN_MODULE = PO_IN_MODULE
| Only set by the system when in a user module Program. More...
const | Qore::PO_LOCKDOWN = PO_LOCKDOWN
| Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access. More...
const | Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS
| Disallows changes to the warning mask. More...
const | Qore::PO_NEW_STYLE = PO_NEW_STYLE
| Set a more C++ or Java type programming style; prohibits usage of the `"$"` character and also assumes local variable scope without `my.` More...
const | Qore::PO_NO_API = PO_NO_API
| Prohibits any code from being inherited into the Program object, including the system API. More...
const | Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS
| Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object. More...
const | Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS
| Disallows class definitions. More...
const | Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS
| Disallows constant definitions. More...
const | Qore::PO_NO_DATABASE = PO_NO_DATABASE
| Disallows access to database functionality. More...
const | Qore::PO_NO_DEBUGGING = PO_NO_DEBUGGING
| Forbids debugging of the current Program object; when this option is set, debuggers cannot attach to the Program object. More...
const | Qore::PO_NO_EMBEDDED_LOGIC = PO_NO_EMBEDDED_LOGIC
| Prohibits embedded logic from being used.
const | Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS
| Prohibits any external access. More...
const | Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO
| Disallows access to functionality that provides information about the computing environment. More...
const | Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS
| Disallows any access to external processes (with system(), backquote(), exec(), etc) More...
const | Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM
| Disallows access to the filesystem. More...
const | Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS
| Disallows the use of global variables. More...
const | Qore::PO_NO_GUI = PO_NO_GUI
| Disallows access to functionality that draws graphics to the display. More...
const | Qore::PO_NO_INHERIT_GLOBAL_VARS = PO_NO_INHERIT_GLOBAL_VARS
| Precludes global variables from being inherited into the new Program object.
const | Qore::PO_NO_INHERIT_PROGRAM_DATA = PO_NO_INHERIT_PROGRAM_DATA
| Do not inherit module-specific Program data from the parent. More...
const | Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
| Prohibits system classes from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS
| Prohibits system constants from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
| Prohibits builtin/system function variants from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS = PO_NO_INHERIT_SYSTEM_HASHDECLS
| Prohibits system hashdecls from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
| Prohibits user classes from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS
| Prohibits user constants from being imported into the new Program object. More...
const | Qore::PO_NO_INHERIT_USER_FUNC_VARIANTS = PO_NO_INHERIT_USER_FUNC_VARIANTS
| Precludes public user function variants from being inherited into the new Program object.
const | Qore::PO_NO_INHERIT_USER_HASHDECLS = PO_NO_INHERIT_USER_HASHDECLS
| Prohibits user hashdecls from being imported into the new Program object. More...
const | Qore::PO_NO_IO = PO_NO_IO
| Prohibits all terminal and file I/O and GUI operations. More...
const | Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL
| Disallows access to functionality that can change locale parameters. More...
const | Qore::PO_NO_MODULES = PO_NO_MODULES
| Disallows loading modules with the %requires directive or at runtime with load_module() More...
const | Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS
| Disallows new namespace definitions. More...
const | Qore::PO_NO_NETWORK = PO_NO_NETWORK
| Disallows access to network functionality. More...
const | Qore::PO_NO_NEW = PO_NO_NEW
| Disallows use of the new operator. More...
const | Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL
| Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc) More...
const | Qore::PO_NO_REFLECTION = PO_NO_REFLECTION
| Disallows access to reflection. More...
const | Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS
| Disallows subroutine (function) definitions. More...
const | Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API
| Prohibits any code from being inherited into the Program object, including the system API. More...
const | Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
| Prohibits system classes from being imported into the new Program object. More...
const | Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
| Prohibits builtin/system function variants from being imported into the new Program object. More...
const | Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO
| Disallows access to reading from and/or writing to the terminal. More...
const | Qore::PO_NO_THREADS = PO_NO_THREADS
| Prohibits access to all threading information. More...
const | Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES
| Disallows access to any thread classes. More...
const | Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL
| Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement) More...
const | Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO
| Disallows access to functionality that provides information about threading. More...
const | Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS
| Disallows top level code. More...
const | Qore::PO_NO_TRANSIENT = PO_NO_TRANSIENT
| Disallows the transient. More...
const | Qore::PO_NO_UNCONTROLLED_APIS = PO_NO_UNCONTROLLED_APIS
| disallow access to "uncontrolled APIs" like external language bindings or direct generic system call APIs that could bypass Qore's sandboxing controls More...
const | Qore::PO_NO_USER_API = PO_NO_USER_API
| Prohibits any user code from being inherited into the Program object. More...
const | Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
| Prohibits user classes from being imported into the new Program object. More...
const | Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS
| mask of all parse options allowing for more freedom (instead of less) More...
const | Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR
| Requires global variables to be declared with our before use. More...
const | Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES
| Requires all function and method parameters and return types to have type declarations. More...
const | Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES
| Requires all function and method parameters, return types, variables, and object members to have type declarations. More...
const | Qore::PO_STRICT_ARGS = PO_STRICT_ARGS
| Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments. More...
const | Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL
| Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6) More...
const | Qore::PO_STRICT_TYPES = PO_STRICT_TYPES
| Sets strict type checking and automatically sets default values for lvalues with type restrictions for types with default values. More...
const | Qore::PO_STRONG_ENCAPSULATION = PO_STRONG_ENCAPSULATION
| disallows out-of-line class and namespace declarations More...
const | Qore::ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap())
| Maps from parse option code values (as string keys) to parse option names. Names are in form used in script or on command line, e.g. new-style. More...
const | Qore::ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap())
| Maps from parse option strings to parse option integer codes. Names are in form used in script or on command line, e.g. new-style. More...
const | Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())
| Maps from parse option code values (as string keys) to parse option names. More...
const | Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())
| Maps from parse option strings to parse option bitfield integer codes. More...

## Detailed Description

These are the possible values that can be or'ed together to set Program parse options

## Variable Documentation

## ◆ DomainCodeMap

const Qore::DomainCodeMap = qore(pomaps.getDomainToStringMap())

Maps from functional domain bitfield code values (as string keys) to functional domain names.

See also
  DomainStringMap for the reverse mapping

Since
  Qore 0.9

## ◆ DomainStringMap

const Qore::DomainStringMap = qore(pomaps.getStringToDomainMap())

Maps from functional domain strings to functional domain bitfield integer codes.

See also
  DomainCodeMap for the reverse mapping

Since
  Qore 0.9

## ◆ ParseOptionCmdCodeMap

const Qore::ParseOptionCmdCodeMap = qore(ParseOptionMap::getCodeToStringMap())

Maps from parse option code values (as string keys) to parse option names. Names are in form used in script or on command line, e.g. new-style.

See also
  ParseOptionCmdStringMap for the reverse mapping

Since
  Qore 0.8.13

## ◆ ParseOptionCmdStringMap

const Qore::ParseOptionCmdStringMap = qore(ParseOptionMap::getStringToCodeMap())

Maps from parse option strings to parse option integer codes. Names are in form used in script or on command line, e.g. new-style.

See also
  ParseOptionCmdCodeMap for the reverse mapping

Since
  Qore 0.8.13

## ◆ ParseOptionCodeMap

const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())

Maps from parse option code values (as string keys) to parse option names.

See also
  ParseOptionStringMap for the reverse mapping

Since
  Qore 0.8.12

## ◆ ParseOptionStringMap

const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())

Maps from parse option strings to parse option bitfield integer codes.

See also
  ParseOptionCodeMap for the reverse mapping

Since
  Qore 0.8.12

## ◆ PO_ALLOW_BARE_REFS

const Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS

Prohibits the use of the '$' character in variable names, method calls, and object member references.

This option should probably be named `"PO_REQUIRE_BARE_REFS"` as it is an error to use the `"$"` character when this option is set

See also
  %allow-bare-refs

## ◆ PO_ALLOW_DEBUGGER

const Qore::PO_ALLOW_DEBUGGER = PO_ALLOW_DEBUGGER

Allows the use of functionality required to implement a debugger, mainly via DebugProgram.

Since
  Qore 0.8.13

## ◆ PO_ALLOW_INJECTION

const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION

Allows code/dependency injections in the contained Program object.

See also
  - Qore::Program::importClass()
  - Qore::Program::importFunction()

Since
  Qore 0.8.12

## ◆ PO_ALLOW_RETURNS

const Qore::PO_ALLOW_RETURNS = PO_ALLOW_RETURNS

Allows the use of the deprecated `returns` keyword.

See also
  %allow-returns

Since
  Qore 0.9.4

## ◆ PO_ALLOW_STATEMENT_NO_EFFECT

const Qore::PO_ALLOW_STATEMENT_NO_EFFECT = PO_ALLOW_STATEMENT_NO_EFFECT

Allows for old pre-Qore 0.9 top-level statements having no effect.

Since
  Qore 0.9

## ◆ PO_ALLOW_WEAK_REFERENCES

const Qore::PO_ALLOW_WEAK_REFERENCES = PO_ALLOW_WEAK_REFERENCES

Allows the use of the weak assignment operator (:=).

See also
  Weak Reference Assignment Operator (:=)

Since
  Qore 0.8.13

## ◆ PO_ASSUME_LOCAL

const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL

Assume local variable scope when variables are first referenced if no `my or` `our is` present.

This option is set implicitly with PO_NEW_STYLE

See also
  %assume-local

## ◆ PO_BROKEN_CAST

const Qore::PO_BROKEN_CAST = PO_BROKEN_CAST

Allows for old pre-Qore 0.9.4 broken cast<> operator behavior where NOTHING was silently accepted.

See also
  %broken-cast

Since
  Qore 0.9.4

## ◆ PO_BROKEN_INT_ASSIGNMENTS

const Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS

allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored

See also
  %broken-int-assignments

Since
  Qore 0.8.12

## ◆ PO_BROKEN_LIST_PARSING

const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING

allows for old pre-Qore 0.8.12 broken list rewriting in the parser

See also
  %broken-list-parsing

Since
  Qore 0.8.12

## ◆ PO_BROKEN_LOGIC_PRECEDENCE

const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE

allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators

See also
  %broken-logic-precedence

Since
  Qore 0.8.12

## ◆ PO_BROKEN_LOOP_STATEMENT

const Qore::PO_BROKEN_LOOP_STATEMENT = PO_BROKEN_LOOP_STATEMENT

allows for old pre-Qore 0.8.13 handling of break and continue

See also
  %broken-loop-statement

Since
  Qore 0.8.13

## ◆ PO_BROKEN_OPERATORS

const Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS

allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces

See also
  %broken-operators

Since
  Qore 0.8.12

## ◆ PO_BROKEN_RANGE

const Qore::PO_BROKEN_RANGE = PO_BROKEN_RANGE

allows for old pre-Qore 0.9.5 handling of range() and xrange()

See also
  %broken-range

Since
  Qore 0.9.5

## ◆ PO_BROKEN_REFERENCES

const Qore::PO_BROKEN_REFERENCES = PO_BROKEN_REFERENCES

allows for old pre-Qore 0.8.13 handling of reference and *reference

See also
  %broken-references

Since
  Qore 0.8.13

## ◆ PO_BROKEN_SPRINTF

const Qore::PO_BROKEN_SPRINTF = PO_BROKEN_SPRINTF

Enables broken sprintf() handling where no argument is treated diffferently than NOTHING.

Also applies to all other functions and methods using format strings for formatted output

Since
  Qore 0.9

## ◆ PO_FREE_OPTIONS

const Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS

mask of options that have no effect on code access or code safety but just affect programming style

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

## ◆ PO_IN_MODULE

const Qore::PO_IN_MODULE = PO_IN_MODULE

Only set by the system when in a user module Program.

Note
  This option cannot be set manually or an exception will be raised

## ◆ PO_LOCK_WARNINGS

const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS

Disallows changes to the warning mask.

See also
  %lock-warnings

## ◆ PO_LOCKDOWN

const Qore::PO_LOCKDOWN = PO_LOCKDOWN

Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access.

made up of PO_NO_EXTERNAL_ACCESS | PO_NO_THREADS | PO_NO_IO

See also
  %lockdown

## ◆ PO_NEW_STYLE

const Qore::PO_NEW_STYLE = PO_NEW_STYLE

Set a more C++ or Java type programming style; prohibits usage of the `"$"` character and also assumes local variable scope without `my.`

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

See also
  %new-style

## ◆ PO_NO_API

const Qore::PO_NO_API = PO_NO_API

Prohibits any code from being inherited into the Program object, including the system API.

made up of:

- PO_NO_INHERIT_SYSTEM_CLASSES
- PO_NO_INHERIT_SYSTEM_CONSTANTS
- PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
- PO_NO_INHERIT_SYSTEM_HASHDECLS
- PO_NO_INHERIT_GLOBAL_VARS
- PO_NO_INHERIT_USER_CLASSES
- PO_NO_INHERIT_USER_CONSTANTS
- PO_NO_INHERIT_USER_FUNC_VARIANTS
- PO_NO_INHERIT_USER_HASHDECLS

Since
  Qore 0.8.12

## ◆ PO_NO_CHILD_PO_RESTRICTIONS

const Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS

Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object.

See also
  %no-child-restrictions

## ◆ PO_NO_CLASS_DEFS

const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS

Disallows class definitions.

See also
  %no-class-defs

## ◆ PO_NO_CONSTANT_DEFS

const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS

Disallows constant definitions.

See also
  %no-constant-defs

## ◆ PO_NO_DATABASE

const Qore::PO_NO_DATABASE = PO_NO_DATABASE

Disallows access to database functionality.

See also
  %no-database

## ◆ PO_NO_DEBUGGING

const Qore::PO_NO_DEBUGGING = PO_NO_DEBUGGING

Forbids debugging of the current Program object; when this option is set, debuggers cannot attach to the Program object.

See also
  %no-debugging

Since
  Qore 0.8.13

## ◆ PO_NO_EXTERNAL_ACCESS

const Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS

Prohibits any external access.

made up of PO_NO_PROCESS_CONTROL | PO_NO_NETWORK | PO_NO_FILESYSTEM | PO_NO_DATABASE | PO_NO_EXTERNAL_INFO | PO_NO_EXTERNAL_PROCESS | PO_NO_UNCONTROLLED_APIS

See also
  %no-external-access

## ◆ PO_NO_EXTERNAL_INFO

const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO

Disallows access to functionality that provides information about the computing environment.

See also
  %no-external-info

## ◆ PO_NO_EXTERNAL_PROCESS

const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS

Disallows any access to external processes (with system(), backquote(), exec(), etc)

See also
  %no-external-process

## ◆ PO_NO_FILESYSTEM

const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM

Disallows access to the filesystem.

See also
  %no-filesystem

## ◆ PO_NO_GLOBAL_VARS

const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS

Disallows the use of global variables.

See also
  %no-global-vars

## ◆ PO_NO_GUI

const Qore::PO_NO_GUI = PO_NO_GUI

Disallows access to functionality that draws graphics to the display.

See also
  PO_NO_TERMINAL_IO
  %no-gui

## ◆ PO_NO_INHERIT_PROGRAM_DATA

const Qore::PO_NO_INHERIT_PROGRAM_DATA = PO_NO_INHERIT_PROGRAM_DATA

Do not inherit module-specific Program data from the parent.

Since
  Qore 1.0

## ◆ PO_NO_INHERIT_SYSTEM_CLASSES

const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
  PO_NO_SYSTEM_CLASSES is a synonym of this constant

Since
  Qore 0.8.12 to harmonize permission names

## ◆ PO_NO_INHERIT_SYSTEM_CONSTANTS

const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS

Prohibits system constants from being imported into the new Program object.

Note
  this does not apply to class constants

Since
  Qore 0.8.12

## ◆ PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

const Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
  PO_NO_SYSTEM_FUNC_VARIANTS is a synonym of this constant

Since
  Qore 0.8.12 to harmonize permission names

## ◆ PO_NO_INHERIT_SYSTEM_HASHDECLS

const Qore::PO_NO_INHERIT_SYSTEM_HASHDECLS = PO_NO_INHERIT_SYSTEM_HASHDECLS

Prohibits system hashdecls from being imported into the new Program object.

Since
  Qore 0.8.13

## ◆ PO_NO_INHERIT_USER_CLASSES

const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
  PO_NO_USER_CLASSES is a synonym of this constant

Since
  Qore 0.8.12 to harmonize permission names

## ◆ PO_NO_INHERIT_USER_CONSTANTS

const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS

Prohibits user constants from being imported into the new Program object.

Note
  this does not apply to class constants

Since
  Qore 0.8.12

## ◆ PO_NO_INHERIT_USER_HASHDECLS

const Qore::PO_NO_INHERIT_USER_HASHDECLS = PO_NO_INHERIT_USER_HASHDECLS

Prohibits user hashdecls from being imported into the new Program object.

Since
  Qore 0.8.13

## ◆ PO_NO_IO

const Qore::PO_NO_IO = PO_NO_IO

Prohibits all terminal and file I/O and GUI operations.

made up of PO_NO_GUI | PO_NO_TERMINAL_IO | PO_NO_FILESYSTEM | PO_NO_NETWORK | PO_NO_DATABASE | PO_NO_UNCONTROLLED_APIS

See also
  %no-io

## ◆ PO_NO_LOCALE_CONTROL

const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL

Disallows access to functionality that can change locale parameters.

See also
  %no-locale-control

## ◆ PO_NO_MODULES

const Qore::PO_NO_MODULES = PO_NO_MODULES

Disallows loading modules with the %requires directive or at runtime with load_module()

See also
  %no-modules

## ◆ PO_NO_NAMESPACE_DEFS

const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS

Disallows new namespace definitions.

See also
  %no-namespace-defs

## ◆ PO_NO_NETWORK

const Qore::PO_NO_NETWORK = PO_NO_NETWORK

Disallows access to network functionality.

See also
  %no-network

## ◆ PO_NO_NEW

const Qore::PO_NO_NEW = PO_NO_NEW

Disallows use of the new operator.

Note that objects can still be instantiated with syntax like:

Mutex m();

See also
  %no-new

## ◆ PO_NO_PROCESS_CONTROL

const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL

Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc)

See also
  %no-process-control

## ◆ PO_NO_REFLECTION

const Qore::PO_NO_REFLECTION = PO_NO_REFLECTION

Disallows access to reflection.

Since
  Qore 0.9

## ◆ PO_NO_SUBROUTINE_DEFS

const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS

Disallows subroutine (function) definitions.

See also
  %no-subroutine-defs

## ◆ PO_NO_SYSTEM_API

const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API

Prohibits any code from being inherited into the Program object, including the system API.

made up of:

- PO_NO_INHERIT_SYSTEM_CLASSES
- PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
- PO_NO_INHERIT_SYSTEM_CONSTANTS
- PO_NO_INHERIT_SYSTEM_HASHDECLS

Since
  Qore 0.8.12

## ◆ PO_NO_SYSTEM_CLASSES

const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
  PO_NO_INHERIT_SYSTEM_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

## ◆ PO_NO_SYSTEM_FUNC_VARIANTS

const Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
  PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

## ◆ PO_NO_TERMINAL_IO

const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO

Disallows access to reading from and/or writing to the terminal.

See also
  %no-terminal-io

## ◆ PO_NO_THREAD_CLASSES

const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES

Disallows access to any thread classes.

See also
  %no-thread-classes

## ◆ PO_NO_THREAD_CONTROL

const Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL

Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement)

See also
  %no-thread-control

## ◆ PO_NO_THREAD_INFO

const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO

Disallows access to functionality that provides information about threading.

See also
  %no-thread-info

## ◆ PO_NO_THREADS

const Qore::PO_NO_THREADS = PO_NO_THREADS

Prohibits access to all threading information.

made up of PO_NO_THREAD_CONTROL | PO_NO_THREAD_CLASSES | PO_NO_THREAD_INFO

See also
  %no-threads

## ◆ PO_NO_TOP_LEVEL_STATEMENTS

const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS

Disallows top level code.

See also
  %no-top-level

## ◆ PO_NO_TRANSIENT

const Qore::PO_NO_TRANSIENT = PO_NO_TRANSIENT

Disallows the transient.

Since
  Qore 0.9

## ◆ PO_NO_UNCONTROLLED_APIS

const Qore::PO_NO_UNCONTROLLED_APIS = PO_NO_UNCONTROLLED_APIS

disallow access to "uncontrolled APIs" like external language bindings or direct generic system call APIs that could bypass Qore's sandboxing controls

See also
  %no-uncontrolled-apis

Since
  Qore 0.8.13

## ◆ PO_NO_USER_API

const Qore::PO_NO_USER_API = PO_NO_USER_API

Prohibits any user code from being inherited into the Program object.

made up of:

- PO_NO_INHERIT_GLOBAL_VARS
- PO_NO_INHERIT_USER_CLASSES
- PO_NO_INHERIT_USER_CONSTANTS
- PO_NO_INHERIT_USER_FUNC_VARIANTS

Since
  Qore 0.8.12

## ◆ PO_NO_USER_CLASSES

const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
  PO_NO_INHERIT_USER_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions

## ◆ PO_POSITIVE_OPTIONS

const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS

mask of all parse options allowing for more freedom (instead of less)

made up of a binary-or'ed combination of:

- PO_NO_CHILD_PO_RESTRICTIONS
- PO_ALLOW_INJECTION

## ◆ PO_REQUIRE_OUR

const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR

Requires global variables to be declared with our before use.

See also
  %require-our

## ◆ PO_REQUIRE_PROTOTYPES

const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES

Requires all function and method parameters and return types to have type declarations.

However, variable declarations and object members are not required to have type declarations

See also
  PO_REQUIRE_TYPES
  %require-prototypes

## ◆ PO_REQUIRE_TYPES

const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES

Requires all function and method parameters, return types, variables, and object members to have type declarations.

Note
  This option also implies PO_STRICT_ARGS

See also
  PO_REQUIRE_PROTOTYPES
  %require-types

## ◆ PO_STRICT_ARGS

const Qore::PO_STRICT_ARGS = PO_STRICT_ARGS

Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments.

This option is set implicitly with PO_REQUIRE_TYPES

See also
  %strict-args

## ◆ PO_STRICT_BOOLEAN_EVAL

const Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL

Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6)

See also
  %strict-bool-eval

Since
  Qore 0.8.6

## ◆ PO_STRICT_TYPES

const Qore::PO_STRICT_TYPES = PO_STRICT_TYPES

Sets strict type checking and automatically sets default values for lvalues with type restrictions for types with default values.

See also
  %strict-types

Since
  Qore 0.9.4

## ◆ PO_STRONG_ENCAPSULATION

const Qore::PO_STRONG_ENCAPSULATION = PO_STRONG_ENCAPSULATION

disallows out-of-line class and namespace declarations

See also
  %strong-encapsulation

Since
  Qore 0.8.13