SP header files

This document catalogs the header files in the SP include directory.

Configuration

This header is used to configure all parts of SP.

General Purpose

These headers provide general purpose classes, mostly templates.

Allocator.h
Efficient allocation of small objects.
Boolean.h
Same as (and should eventually be replaced) bool type.
Owner.h
Pointers that own the object they point to.
CopyOwner.h
Like Owner but with copy constructor and assignment operator.
SubstTable.h
macros.h
Various useful preprocessor macros. Not included by any public header file to avoid name space pollution.
Ptr.h
Reference-counted pointers:
Resource.h
Base for class that can have reference-counted pointer to it.
ISet.h
ISetIter.h
Sets of objects of integral types using ordered lists of ranges.
Link.h
IList.h
IListBase.h
IListIter.h
IListIterBase.h
IQueue.h
List.h
ListIter.h
Linked list and queue templates.
Vector.h
NCVector.h
xnew.h
Vector templates.
rtti.h
TypeId.h
Macros to provide RTTI if your compiler doesn't support it yet.
PointerTable.h
Template for hash table containing pointers. All hash table facilities in SP are built on top of this.
OwnerTable.h
StringOf.h
String template class.
StringResource.h
String that's also a Resource.
Options.h
Getopt-style option parsing in C++.

Abstract Entity Manager

These headers define an interface to an abstract entity manager. This interface is used by the parser. These headers depend on the general purpose headers.

These headers define an intergace for reporting messages:

These headers are used to represent character sets:

These headers define various types for representing characters, and related fairly low-level classes:

Parser

These headers define the interface to the parser. These depend on the abstract entity manager and general purpose classes.

These headers provide the main interface to the parser:

These headers are used to describe DTDs and LPDs:

These headers are used to define SGML declarations:

These headers define basic classes that are used widely in the interface:

Entity Manager

These headers define the interface to the entity manager that is provided by SP. This is an extension of the abstract interface used by the parser. These headers depend on the general purpose and abstract entity manager headers but not the parser headers.

These headers define storage managers that can be used with the entity manager.

These headers define classes that are used by some of the storage managers.

These headers define coding systems:

This header allows coding systems to be used for output:

Facade

These headers provide an application framework for use by command-line applications on top of the parser and entity manager headers

These headers define useful event handlers:

James Clark
jjc@jclark.com