20 INLINE ParamValueBase::
29 return TypeHandle::none();
35 INLINE ParamTypedRefCount::
46 if (_value ==
nullptr) {
47 return TypeHandle::none();
49 return _value->get_type();
92 return get_type_handle(Type);
119 output(std::ostream &out)
const {
140 generic_write_datagram(dg, _value);
156 esv->fillin(scan, manager);
169 generic_read_datagram(_value, scan);
void parse_params(const FactoryParams ¶ms, DatagramIterator &scan, BamReader *&manager)
Takes in a FactoryParams, passed from a WritableFactory into any TypedWritable's make function,...
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
static WritableFactory * get_factory()
Returns the global WritableFactory for generating TypedWritable objects.
This is the fundamental interface for writing binary objects to a Bam file, to be extracted later by ...
A class to retrieve the individual data elements previously stored in a Datagram.
An ordered list of data elements, formatted in memory for transmission over a socket or writing to a ...
An instance of this class is passed to the Factory when requesting it to do its business and construc...
void register_factory(TypeHandle handle, CreateFunc *func, void *user_data=nullptr)
Registers a new kind of thing the Factory will be able to create.
get_value
Retrieves the value stored in the parameter.
virtual TypeHandle get_value_type() const
Retrieves the type of the value stored in the parameter.
virtual TypeHandle get_value_type() const
Returns the type of the underlying value.
A handy class object for storing simple values (like integers or strings) passed along with an Event ...
set_value
Changes the value stored in the parameter.
virtual TypeHandle get_value_type() const
Retrieves the type of the value stored in the parameter.
get_value
Retrieves the value stored in the parameter.
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.
static void register_with_read_factory()
Tells the BamReader how to create objects of type ParamValue.
TypeHandle is the identifier used to differentiate C++ class types.
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
Base class for objects that can be written to and read from Bam files.
virtual void fillin(DatagramIterator &scan, BamReader *manager)
This internal function is intended to be called by each class's make_from_bam() method to read in all...
virtual void write_datagram(BamWriter *manager, Datagram &dg)
Writes the contents of this object to the datagram for shipping out to a Bam file.