From: Stefan S. <se...@sy...> - 2003-03-20 14:36:56
|
Christophe de VIENNE wrote: > node.h (could be splitted in node.h, node_qt.h and node_glib.h): not splitting it up into separate files would indeed imply depending on *both*. Remember that the original goal was not to provide two unicode bindings instead of a single one, but instead to totally factor it out, i.e. be fully agnostic of it. > - ------- > > template<typename String_t> > class Node { // or maybe BaseNode > public: > String_t get_content(); > } > > namespace qt { > typedef xmlpp::Node<QString> Node; > } > > namespace glib { > typedef xmlpp::Node<Glib::ustring> Node; > } This will instantiate the actual types, and thus require the full template code to be seen. That's what Murray objects to. In order to hide the templates you really have to use compiler firewalls ('pimpls'), which requires more than a 'typedef': it requires real wrapper classes. (you can't forward declare a typedef...). Stefan |