Panda3D
Macros | Functions | Variables
register_type.h File Reference

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. More...

#include "dtoolbase.h"
#include "typeHandle.h"
#include "typeRegistry.h"
#include "register_type.I"

Go to the source code of this file.

Macros

#define do_init_type(type)   _do_init_type((const type *)0)
 
#define get_type_handle(type)   _get_type_handle((const type *)0)
 

Functions

template<class T >
void _do_init_type (const T *)
 
template<>
void _do_init_type (const long *)
 
template<>
void _do_init_type (const int *)
 
template<>
void _do_init_type (const short *)
 
template<>
void _do_init_type (const char *)
 
template<>
void _do_init_type (const bool *)
 
template<>
void _do_init_type (const double *)
 
template<>
void _do_init_type (const float *)
 
template<>
void _do_init_type (const long *const *)
 
template<>
void _do_init_type (const int *const *)
 
template<>
void _do_init_type (const short *const *)
 
template<>
void _do_init_type (const char *const *)
 
template<>
void _do_init_type (const bool *const *)
 
template<>
void _do_init_type (const double *const *)
 
template<>
void _do_init_type (const float *const *)
 
template<>
void _do_init_type (const void *const *)
 
template<class T >
TypeHandle _get_type_handle (const T *)
 
template<>
TypeHandle _get_type_handle (const long *)
 
template<>
TypeHandle _get_type_handle (const int *)
 
template<>
TypeHandle _get_type_handle (const unsigned int *)
 
template<>
TypeHandle _get_type_handle (const short *)
 
template<>
TypeHandle _get_type_handle (const unsigned short *)
 
template<>
TypeHandle _get_type_handle (const char *)
 
template<>
TypeHandle _get_type_handle (const unsigned char *)
 
template<>
TypeHandle _get_type_handle (const bool *)
 
template<>
TypeHandle _get_type_handle (const double *)
 
template<>
TypeHandle _get_type_handle (const float *)
 
template<>
TypeHandle _get_type_handle (const std::string *)
 
template<>
TypeHandle _get_type_handle (const std::wstring *)
 
template<>
TypeHandle _get_type_handle (const long *const *)
 
template<>
TypeHandle _get_type_handle (const int *const *)
 
template<>
TypeHandle _get_type_handle (const short *const *)
 
template<>
TypeHandle _get_type_handle (const char *const *)
 
template<>
TypeHandle _get_type_handle (const bool *const *)
 
template<>
TypeHandle _get_type_handle (const double *const *)
 
template<>
TypeHandle _get_type_handle (const float *const *)
 
template<>
TypeHandle _get_type_handle (const void *const *)
 
void init_system_type_handles ()
 
TypeHandle register_dynamic_type (const std::string &name)
 This is essentially similar to register_type(), except that it doesn't store a reference to any TypeHandle passed in and it therefore doesn't complain if the type is registered more than once to different TypeHandle reference. More...
 
TypeHandle register_dynamic_type (const std::string &name, TypeHandle parent1)
 
TypeHandle register_dynamic_type (const std::string &name, TypeHandle parent1, TypeHandle parent2)
 
TypeHandle register_dynamic_type (const std::string &name, TypeHandle parent1, TypeHandle parent2, TypeHandle parent3)
 
TypeHandle register_dynamic_type (const std::string &name, TypeHandle parent1, TypeHandle parent2, TypeHandle parent3, TypeHandle parent4)
 
void register_type (TypeHandle &type_handle, const std::string &name)
 This inline function is just a convenient way to call TypeRegistry::register_type(), along with zero to four record_derivation()s. More...
 
void register_type (TypeHandle &type_handle, const std::string &name, TypeHandle parent1)
 
void register_type (TypeHandle &type_handle, const std::string &name, TypeHandle parent1, TypeHandle parent2)
 
void register_type (TypeHandle &type_handle, const std::string &name, TypeHandle parent1, TypeHandle parent2, TypeHandle parent3)
 
void register_type (TypeHandle &type_handle, const std::string &name, TypeHandle parent1, TypeHandle parent2, TypeHandle parent3, TypeHandle parent4)
 

Variables

TypeHandle bool_p_type_handle
 
TypeHandle bool_type_handle
 
TypeHandle char_p_type_handle
 
TypeHandle char_type_handle
 
TypeHandle double_p_type_handle
 
TypeHandle double_type_handle
 
TypeHandle float_p_type_handle
 
TypeHandle float_type_handle
 
TypeHandle int_p_type_handle
 
TypeHandle int_type_handle
 
TypeHandle long_p_type_handle
 
TypeHandle long_type_handle
 
TypeHandle ov_set_type_handle
 
TypeHandle pdeque_type_handle
 
TypeHandle plist_type_handle
 
TypeHandle pmap_type_handle
 
TypeHandle pset_type_handle
 
TypeHandle pvector_type_handle
 
TypeHandle short_p_type_handle
 
TypeHandle short_type_handle
 
TypeHandle string_type_handle
 
TypeHandle uchar_type_handle
 
TypeHandle uint_type_handle
 
TypeHandle ushort_type_handle
 
TypeHandle void_p_type_handle
 
TypeHandle wstring_type_handle
 

Detailed Description

PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.

All rights reserved.

All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."

Author
drose
Date
2001-08-06

Definition in file register_type.h.

Function Documentation

◆ register_dynamic_type()

TypeHandle register_dynamic_type ( const std::string &  name)
inline

This is essentially similar to register_type(), except that it doesn't store a reference to any TypeHandle passed in and it therefore doesn't complain if the type is registered more than once to different TypeHandle reference.

Definition at line 69 of file register_type.I.

References TypeRegistry::ptr(), and TypeRegistry::register_dynamic_type().

◆ register_type()

void register_type ( TypeHandle type_handle,
const std::string &  name 
)
inline

This inline function is just a convenient way to call TypeRegistry::register_type(), along with zero to four record_derivation()s.

If for some reason you have a class that has more than four base classes (you're insane!), then you will need to call Register() and record_derivation() yourself.

Definition at line 22 of file register_type.I.

References TypeRegistry::ptr(), and TypeRegistry::register_type().

Referenced by TypedObject::init_type().