#### Description:

This class is the base class from which all other classes in the AST library are derived. It provides all the basic Object behaviour and Object manipulation facilities required throughout the library. There is no Object constructor, however, as Objects on their own are not useful.

#### Constructor Function

None.

#### Inheritance

The Object base class does not inherit from any other class.

#### Attributes

All Objects have the following attributes:

- Class: Object class name

- ID: Object identification string

- Ident: Permanent Object identification string

- Nobject: Number of Objects in class

- ObjSize: The in-memory size of the Object in bytes

- RefCount: Count of active Object pointers

- UseDefs: Allow use of default values for Object attributes?

#### Functions

The following functions may be applied to all Objects:

- astAnnul: Annul a pointer to an Object

- astBegin: Begin a new AST context

- astClear: Clear attribute values for an Object

- astClone: Clone a pointer to an Object

- astCopy: Copy an Object

- astCreatedAt: Returns information about where an object was created

- astDelete: Delete an Object

- astEnd: End an AST context

- astEscapes: Control whether graphical escape sequences are removed

- astExempt: Exempt an Object pointer from AST context handling

- astExport: Export an Object pointer to an outer context

- astGet <X >: Get an attribute value for an Object

- astHasAttribute: Test if an Object has a named attribute

- astImport: Import an Object pointer to the current context

- astIsA <Class >: Test class membership

- astLock: Lock an Object for use by the calling thread

- astToString: Create an in-memory serialisation of an Object

- astSame: Do two AST pointers refer to the same Object?

- astSet: Set attribute values for an Object

- astSet <X >: Set an attribute value for an Object

- astShow: Display a textual representation of an Object on standard output

- astTest: Test if an attribute value is set for an Object

- astThread: Get the thread (if any) that has locked an Object

- astTune: Set or get an integer AST tuning parameter

- astTuneC: Set or get a character AST tuning parameter

- astUnlock: Unlock an Object for use by other threads

- astFromString: Re-create an Object from an in-memory serialisation

- astVersion: Return the verson of the AST library being used.

Copyright (C) 2021 East Asian Observatory