namespace X3DTK {

#ifdef TEMPLATE_SPECIALIZATION_SUPPORTED
template<class T, class V>
void X3DAbstractNode::defineAttribute(const SFString &name, V T:: *member, const V &init) 
{
  define(Recorder<T, V>::getAttribute(name, member, init));
}

template<class T, class V>
void X3DAbstractNode::defineNode(const SFString &name, V T:: *node) 
{
  define(Recorder<T, V>::getSFNode(name, node));
}

template<class T, class V>
void X3DAbstractNode::defineNodes(const SFString &name, MFNode T:: *nodes) 
{
  define(Recorder<T, V>::getMFNode(name, nodes));
}
#endif

}
