template class Poco::Manifest

Overview

A Manifest maintains a list of all classes contained in a dynamically loadable class library. More…

#include <Manifest.h>

template <class B>
class Manifest: public Poco::ManifestBase
{
public:
    // typedefs

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

    // classes

    class Iterator;

    // methods

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

    Iterator
    begin() const;

    Iterator
    end() const;

    bool
    insert(const Meta* pMeta);

    void
    clear();

    int
    size() const;

    bool
    empty() const;

    virtual
    const char*
    className() const;
};

Inherited Members

public:
    // methods

    virtual
    const char*
    className() const = 0;

Detailed Documentation

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.

Construction

virtual
~Manifest()

Destroys the Manifest.

Methods

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().

bool
insert(const Meta* pMeta)

Inserts a MetaObject.

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

void
clear()

Removes all MetaObjects from the manifest.

int
size() const

Returns the number of MetaObjects in the Manifest.

bool
empty() const

Returns true iff the Manifest does not contain any MetaObjects.

virtual
const char*
className() const

Returns the type name of the manifest’s class.