template < class B >

class Manifest

Library: Foundation
Package: SharedLibrary
Header: Poco/Manifest.h


A Manifest maintains a list of all classes contained in a dynamically loadable class library. Internally, the information is held in a map. An iterator is provided to iterate over all the classes in a Manifest.


Direct Base Classes: ManifestBase

All Base Classes: ManifestBase

Member Summary

Member Functions: begin, className, clear, empty, end, find, insert, size

Inherited Functions: className

Nested Classes

class Iterator

The Manifest's very own iterator class. more...



typedef AbstractMetaObject < B > Meta;


typedef std::map < std::string, const Meta * > MetaMap;


Manifest inline


Creates an empty Manifest.


~Manifest virtual inline

virtual ~Manifest();

Destroys the Manifest.

Member Functions

begin inline

Iterator begin() const;

className virtual inline

const char * className() const;

clear inline

void clear();

Removes all MetaObjects from the manifest.

empty inline

bool empty() const;

Returns true iff the Manifest does not contain any MetaObjects.

end inline

Iterator end() const;

find inline

Iterator find(
    const std::string & className
) const;

Returns an iterator pointing to the MetaObject for the given class. If the MetaObject cannot be found, the iterator points to end().

insert inline

bool insert(
    const Meta * pMeta

Inserts a MetaObject. Returns true if insertion was successful, false if a class with the same name already exists.

size inline

int size() const;

Returns the number of MetaObjects in the Manifest.