export template functions properly from DLL

This commit is contained in:
David Rose 2001-06-25 22:14:01 +00:00
parent 6c9d425806
commit f5b2498898
5 changed files with 15 additions and 36 deletions

View File

@ -43,7 +43,7 @@
pt_NodeRelation.h setTransitionHelpers.T \
setTransitionHelpers.h transitionDirection.h \
traverserVisitor.T traverserVisitor.h vector_PT_Node.h \
vector_PT_NodeRelation.h vector_NodeRelation_star.h wrt.I \
vector_PT_NodeRelation.h vector_NodeRelation_star.h wrt.T \
wrt.h
#define INCLUDED_SOURCES \
@ -97,7 +97,7 @@
setTransitionHelpers.T setTransitionHelpers.h \
transitionDirection.h traverserVisitor.T traverserVisitor.h \
vector_PT_Node.h vector_PT_NodeRelation.h vector_NodeRelation_star.h \
wrt.I wrt.h
wrt.T wrt.h
#define IGATESCAN all

View File

@ -63,36 +63,6 @@ end() const {
return _transitions.end();
}
////////////////////////////////////////////////////////////////////
// Function: get_transition_into
// Description: This external template function is handy for
// extracting a transition of a particular type from the
// set. If the transition exists, it is automatically
// downcasted to the correct type and stored in the
// pointer given in the first parameter, and the return
// value is true. If the transition does not exist, the
// pointer is filled with NULL and the return value is
// false.
////////////////////////////////////////////////////////////////////
template<class Transition>
INLINE_GRAPH bool
get_transition_into(Transition *&ptr, const NodeTransitions &trans,
TypeHandle transition_type) {
NodeTransition *nt = trans.get_transition(transition_type);
if (nt == (NodeTransition *)NULL) {
ptr = (Transition *)NULL;
return false;
}
DCAST_INTO_R(ptr, nt, false);
return true;
}
template<class Transition>
INLINE_GRAPH bool
get_transition_into(Transition *&ptr, const NodeTransitions &trans) {
return get_transition_into(ptr, trans, Transition::get_class_type());
}
INLINE_GRAPH ostream &operator << (ostream &out, const NodeTransitions &nts) {
nts.output(out);
return out;

View File

@ -88,8 +88,19 @@ private:
INLINE_GRAPH ostream &operator << (ostream &out, const NodeTransitions &nts);
template<class Transition>
INLINE_GRAPH bool
get_transition_into(Transition *&ptr, const NodeTransitions &trans,
TypeHandle transition_type);
template<class Transition>
INLINE_GRAPH bool
get_transition_into(Transition *&ptr, const NodeTransitions &trans);
#ifndef DONT_INLINE_GRAPH
#include "nodeTransitions.I"
#endif
#include "nodeTransitions.T"
#endif

View File

@ -1,4 +1,4 @@
// Filename: wrt.I
// Filename: wrt.T
// Created by: drose (26Oct98)
//
////////////////////////////////////////////////////////////////////

View File

@ -146,8 +146,6 @@ wrt_subtree(NodeRelation *arc, Node *to, UpdateSeq as_of, UpdateSeq now,
extern EXPCL_PANDA PStatCollector _wrt_pcollector;
extern EXPCL_PANDA PStatCollector _wrt_subtree_pcollector;
#ifndef DONT_INLINE_GRAPH
#include "wrt.I"
#endif
#include "wrt.T"
#endif