BIND 10 master, updated. 5720ab60da4b443e9414852234d65acccd8e9e4e [master] added some minimul level comment to RRsetList to avoid misuse.

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Jan 26 23:06:38 UTC 2011


The branch, master has been updated
       via  5720ab60da4b443e9414852234d65acccd8e9e4e (commit)
      from  f4b2e3f8f7404dc3739a211d23022336f33609f8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5720ab60da4b443e9414852234d65acccd8e9e4e
Author: JINMEI Tatuya <jinmei at isc.org>
Date:   Wed Jan 26 15:06:11 2011 -0800

    [master] added some minimul level comment to RRsetList to avoid misuse.

-----------------------------------------------------------------------

Summary of changes:
 src/lib/dns/rrsetlist.h |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/dns/rrsetlist.h b/src/lib/dns/rrsetlist.h
index 4886335..0e05b5b 100644
--- a/src/lib/dns/rrsetlist.h
+++ b/src/lib/dns/rrsetlist.h
@@ -73,6 +73,27 @@ private:
     T it_;
 };
 
+/// A set of RRsets.
+///
+/// \note Do not use this class unless you really understand what
+/// you're doing and you're 100% sure that this class is the best choice
+/// for your purpose.
+///
+/// Counter intuitively, this class is not a "list" of RRsets but a
+/// "set" of them; it doesn't allow multiple RRsets of the same RR
+/// type and RR class to be added at the same time.  And, for that
+/// reason, adding an RRset is more expensive than you'd expect.  The
+/// class name is confusing, but was named so as a result of
+/// compromise: "RRsetset" would look awkward; RRsets would be
+/// confusing (with RRset).
+///
+/// In any case, if you want a list like container of RRsets, your best choice
+/// would be \c std::vector<RRset> or \c std::list<RRset>, not this class.
+/// In fact, in many cases \c RRsetList will be a suboptimal choice.
+/// This class is defined publicly as part of libdns++ for a historical
+/// reason and is actually quite specific to a particular need for libdatasrc.
+/// If you are tempted to use it, think twice to assess if this class
+/// is really what you want.  Again, in many cases the answer will be no.
 class RRsetList {
 private:
     RRsetList(const RRsetList& source);




More information about the bind10-changes mailing list