#### Description:

The Channel class implements low-level input/output for the AST library. Writing an Object to a Channel will generate a textual representation of that Object, and reading from a Channel will create a new Object from its textual representation.

Normally, when you use a Channel, you should provide `"` source`"` and `"` sink`"` functions which connect it to an external data store by reading and writing the resulting text. By default, however, a Channel will read from standard input and write to standard output. Alternatively, a Channel can be told to read or write from specific text files using the SinkFile and SourceFile attributes, in which case no sink or source function need be supplied.

#### Constructor Function

astChannel

#### Inheritance

The Channel class inherits from the Object class.

#### Attributes

In addition to those attributes common to all Objects, every Channel also has the following attributes:

- Comment: Include textual comments in output?

- Full: Set level of output detail

- Indent: Indentation increment between objects

- ReportLevel: Selects the level of error reporting

- SinkFile: The path to a file to which the Channel should write

- Skip: Skip irrelevant data?

- SourceFile: The path to a file from which the Channel should read

- Strict: Generate errors instead of warnings?

#### Functions

In addition to those functions applicable to all Objects, the following functions may also be applied to all Channels:

- astWarnings: Return warnings from the previous read or write

- astPutChannelData: Store data to pass to source or sink functions

- astRead: Read an Object from a Channel

- astWrite: Write an Object to a Channel

Copyright (C) 2021 East Asian Observatory