18 #include "pandabase.h"
20 #include "typedObject.h"
21 #include "typedReferenceCount.h"
22 #include "factoryParams.h"
54 INLINE
TypedObject *make_instance(
const string &type_name,
60 INLINE
TypedObject *make_instance_more_general(
const string &type_name,
65 void register_factory(
TypeHandle handle, BaseCreateFunc *func);
67 int get_num_types()
const;
70 void clear_preferred();
72 int get_num_preferred()
const;
75 void write_types(ostream &out,
int indent_level = 0)
const;
91 #if (defined(WIN32_VC) || defined(WIN64_VC)) && !defined(__ICL) //__ICL is Intel C++
105 #include "factoryBase.I"
This is our own Panda specialization on the default STL map.
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A Factory can be used to create an instance of a particular subclass of some general base class...
TypeHandle is the identifier used to differentiate C++ class types.