16#ifndef SIMICS_OBJECT_FACTORY_H
17#define SIMICS_OBJECT_FACTORY_H
32 static_assert(std::is_base_of<ConfObject, T>::value,
33 "T must be a descendant of ConfObject");
48template <
typename T,
typename A>
53 static_assert(std::is_base_of<ConfObject, T>::value,
54 "T must be a descendant of ConfObject");
59 return new T(obj, arg_);
struct conf_object conf_object_t
Definition: bank-issue-callbacks-interface.h:23
A class inherited by a model class to support Simics configuration.
Definition: conf-object.h:114
An object factory creates class T object with argument.
Definition: object-factory.h:49
ConfObject * create(conf_object_t *obj) const override
iface::ObjectFactoryInterface
Definition: object-factory.h:58
ObjectFactoryWithArg(A *arg)
Definition: object-factory.h:51
iface::ObjectFactoryInterface * clone() const override
Definition: object-factory.h:61
An object factory creates class T object.
Definition: object-factory.h:29
ConfObject * create(conf_object_t *obj) const override
iface::ObjectFactoryInterface
Definition: object-factory.h:37
ObjectFactory()
Definition: object-factory.h:31
iface::ObjectFactoryInterface * clone() const override
Definition: object-factory.h:40
Definition: object-factory-interface.h:33
Definition: attr-value.h:23