Void Overview

An un-initialized container will always contain #void. The void data type represents an empty container. Analytic Information Server functions may return a value of #void, and #void is used to indicate empty results across all of Analytic Information Server.

When to Use

The #void data type is usually used to initialize or clear a previously assigned variable.

Constant Form

As mentioned, the void container can only have one constant and that is #void.

Native Data Type

The Void Data Type is an example of an AIS Native Data Type.

Analytic Information Server stores all of its Native Data Types in Virtual Machine Containers. All containers are stored in memory. Containers provide the basic storage mechanism for modeling data of all types. Containers provide these fundamental characteristics:

Ability to hold any type of data (including code) at any time.

Ability to know what type of data is contained.

Ability to be stored, retrieved and evaluated by the system.

Ability to handle type conversion, and memory management automatically.

Containers come in two sizes, Large and Small. Small containers are six bytes in length, and large containers are ten bytes in length. Large containers can store larger amounts of data immediately and place less of a burden on the Heap manager. Small containers require less immediate space, but place more of a burden on the Heap manager.

Large containers can store the following data types immediately and does not require the services of the Heap manager:

Small containers can store the following data types immediately without placing additional burden on the Heap manager:

Analytic Information Server containers can be saved and loaded to and from persistent (database) storage at any time. Containers with immediate data are saved on disk in fixed length records equal to the size of the container. Containers with Heap object references are saved in fixed length records, which are automatically expanded to include the contents of the Heap object, and any objects referenced by the Heap object, etc. This feature is called Object Closure Management and is automatic with every Analytic Information Server container database save. Analytic Information Server containers may be loaded from any database repository record at any time. If the data in the record is immediate, the database load fills the container with the immediate data. If the data in the record is an object closure, the database load fills the container with a Heap object reference, and all of the objects in the record are loaded back into the Heap with the same referential relationships they had when they were saved.


Data Type Examples

The Void object can be demonstrated by the following examples.

Example_Void_addMethod_009 Example_Void_addMethod_010 Example_Void_compareEQ_008 Example_Void_compareGE_008
Example_Void_compareGT_008 Example_Void_compareLE_008 Example_Void_compareLT_008 Example_Void_compareNE_008
Example_Void_compare_008 Example_Void_comparison_008 Example_Void_defmethod_010 Example_Void_defmethod_011
Example_Void_isEqual_006 Example_Void_isIdentical_006 Example_Void_isNull_002 Example_Void_isType_010
Example_Void_methodsOf_011 Example_Void_ref_017 Example_Void_send_009 Example_Void_setq_015
Example_Void_sizeof_008 Example_Void_type_011