The Collection class provides a template for collections of various internal Origin objects such as "Pages" (the collection of all PageBase objects in a project file), etc.
The Collection class has an implicit templatized type _TemplType, which is the type of one element of the collection. For example, for the Project class Pages collection (Collection<PageBase> Pages;) the templatized type is PageBase.
Each collection usually has a parent class which is the class whose data member is the collection. For example, Collection<PageBase> Pages is a member of the Project class because Project contains all the pages. Therefore, each collection can be attached to one internal object or be unattached.
The methods of the Collection class are common for all collections. One of the most useful ways to use a collection is in the foreach loop (see the Example).
// This function demonstrates looping over all the members of a collection
// using a foreach loop
// Default constructor creates an unattached Collection object:
// Attach to the collection of all the pages in the project:
pbColl = Project.Pages;
foreach(pb in pbColl)
// Display the name of the page: