[svn] commit: r511 - /branches/jinmei-dnsrdata/src/lib/dns/cpp/message.cc

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Jan 26 07:18:36 UTC 2010


Author: jinmei
Date: Tue Jan 26 07:18:36 2010
New Revision: 511

Log:
note about explicit instantiation

Modified:
    branches/jinmei-dnsrdata/src/lib/dns/cpp/message.cc

Modified: branches/jinmei-dnsrdata/src/lib/dns/cpp/message.cc
==============================================================================
--- branches/jinmei-dnsrdata/src/lib/dns/cpp/message.cc (original)
+++ branches/jinmei-dnsrdata/src/lib/dns/cpp/message.cc Tue Jan 26 07:18:36 2010
@@ -608,11 +608,20 @@
 }
 
 ///
+/// We need to explicitly instantiate these template classes because these
+/// are public classes but defined in this implementation file.
+///
+template class SectionIterator<QuestionPtr>;
+template class SectionIterator<RRsetPtr>;
+
+namespace {
+typedef SectionIteratorImpl<QuestionPtr> QuestionIteratorImpl;
+typedef SectionIteratorImpl<RRsetPtr> RRsetIteratorImpl;
+}
+
+///
 /// Question iterator
 ///
-template class SectionIterator<QuestionPtr>;
-typedef SectionIteratorImpl<QuestionPtr> QuestionIteratorImpl;
-
 const QuestionIterator
 Message::beginQuestion() const
 {
@@ -628,9 +637,6 @@
 ///
 /// RRsets iterators
 ///
-template class SectionIterator<RRsetPtr>;
-typedef SectionIteratorImpl<RRsetPtr> RRsetIteratorImpl;
-
 const SectionIterator<RRsetPtr>
 Message::beginSection(const Section& section) const
 {




More information about the bind10-changes mailing list