Make DatagramIterator typed (ask me if you want to know why)

This commit is contained in:
rdb 2013-12-23 20:46:20 +00:00
parent 8365c5ce13
commit 4e92e480e0
3 changed files with 18 additions and 3 deletions

View File

@ -14,6 +14,7 @@
#include "config_express.h"
#include "datagram.h"
#include "datagramIterator.h"
#include "nodeReferenceCount.h"
#include "referenceCount.h"
#include "textEncoder.h"
@ -99,6 +100,7 @@ init_libexpress() {
initialized = true;
Datagram::init_type();
DatagramIterator::init_type();
Namable::init_type();
NodeReferenceCount::init_type();
ReferenceCount::init_type();

View File

@ -12,10 +12,11 @@
//
////////////////////////////////////////////////////////////////////
#include "datagramIterator.h"
#include "pnotify.h"
TypeHandle DatagramIterator::_type_handle;
////////////////////////////////////////////////////////////////////
// Function: DatagramIterator::get_string
// Access: Public

View File

@ -28,8 +28,9 @@
// know the correct type and order of each element.
////////////////////////////////////////////////////////////////////
class EXPCL_PANDAEXPRESS DatagramIterator {
public:
INLINE void assign(Datagram &datagram, size_t offset = 0);
public:
INLINE void assign(Datagram &datagram, size_t offset = 0);
PUBLISHED:
INLINE DatagramIterator();
INLINE DatagramIterator(const Datagram &datagram, size_t offset = 0);
@ -82,6 +83,17 @@ PUBLISHED:
private:
const Datagram *_datagram;
size_t _current_index;
public:
static TypeHandle get_class_type() {
return _type_handle;
}
static void init_type() {
register_type(_type_handle, "DatagramIterator");
}
private:
static TypeHandle _type_handle;
};
// These generic functions are primarily for reading a value from a