template class Poco::MetaObject

Overview

A MetaObject stores some information about a C++ class. Moreā€¦

#include <MetaObject.h>

template <
    class C,
    class B
    >
class MetaObject: public Poco::AbstractMetaObject
{
public:
    // construction

    MetaObject(const char* name);

    // methods

    virtual
    B*
    create() const;

    virtual
    B&
    instance() const;

    virtual
    bool
    canCreate() const;
};

Inherited Members

public:
    // methods

    const char*
    name() const;

    virtual
    B*
    create() const = 0;

    virtual
    B&
    instance() const = 0;

    virtual
    bool
    canCreate() const = 0;

    virtual
    void
    destroy(B* pObject) const;

    B*
    autoDelete(B* pObject) const;

    virtual
    bool
    isAutoDelete(B* pObject) const;

Detailed Documentation

A MetaObject stores some information about a C++ class.

The MetaObject class is used by the Manifest class. A MetaObject can also be used as an object factory for its class.

Methods

virtual
B*
create() const

Create a new instance of a class.

Cannot be used for singletons.

virtual
B&
instance() const

Returns a reference to the only instance of the class.

Used for singletons only.

virtual
bool
canCreate() const

Returns true iff the create method can be used to create instances of the class.

Returns false if the class is a singleton.