15 #ifndef TYPEDWRITABLEREFERENCECOUNT_H
16 #define TYPEDWRITABLEREFERENCECOUNT_H
18 #include "pandabase.h"
20 #include "typedWritable.h"
21 #include "referenceCount.h"
38 INLINE TypedWritableReferenceCount(
const TypedWritableReferenceCount ©);
39 INLINE
void operator = (
const TypedWritableReferenceCount ©);
44 static PT(TypedWritableReferenceCount) decode_from_bam_stream(
const string &data,
BamReader *reader = NULL);
48 return get_class_type();
50 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
54 static void init_type() {
55 TypedWritable::init_type();
56 ReferenceCount::init_type();
57 register_type(_type_handle,
"TypedWritableReferenceCount",
58 TypedWritable::get_class_type(),
59 ReferenceCount::get_class_type());
61 "TypedWriteableReferenceCount");
68 #include "typedWritableReferenceCount.I"
virtual ReferenceCount * as_reference_count()
Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type.
This is the fundamental interface for extracting binary objects from a Bam file, as generated by a Ba...
Base class for objects that can be written to and read from Bam files.
void record_alternate_name(TypeHandle type, const string &name)
Indicates an alternate name for the same type.
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
static TypeRegistry * ptr()
Returns the pointer to the global TypeRegistry object.
A base class for all things that want to be reference-counted.
TypeHandle is the identifier used to differentiate C++ class types.