BIND 10 #1574: Add support for loading NSEC3 RRsets to in memory data source

BIND 10 Development do-not-reply at isc.org
Tue Jan 31 18:20:50 UTC 2012


#1574: Add support for loading NSEC3 RRsets to in memory data source
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:         |  Sprint-20120207
  critical                           |            Resolution:
                  Component:  data   |             Sensitive:  0
  source                             |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  7
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:  NSEC3  |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:16 vorner]:

 > The signature doesn't matter, because transform uses a template
 parameter for the function/functor. That's why you can pass a functor
 inside anyway. The only thing needed is for the parameter/return value to
 be convertible automatically, which, as demonstrated by the functor, is
 possible.

 Ah, yes, you are right in that signature doesn't matter.

 > I tried it and there's a different problem. There's one good old C
 toupper and another C++ std::toupper. And we have `using namespace std` at
 the top of the file, which means it can't resolve between these two (the
 template parameter of transform is deduced from the signature of the
 function and there are several). However, this seems to work, because it
 uniquely selects one toupper (the C one):

 With :: it worked for me, too.  But the cause of this doesn't seem to
 be the ambiguity between C++/C toupper.  The following code compiled
 even with the "ambiguity":

 {{{#!c++
 #include <algorithm>
 #include <cctype>
 #include <string>
 // If we uncomment this it doesn't compile
 //#include <iostream>

 using namespace std;

 int
 main() {
     string s("abcde");
     transform(s.begin(), s.end(), s.begin(), toupper);
     return (0);
 }
 }}}

 but if I included iostream, I saw the same error, which could be
 somehow resolved by adding '::' to toupper.

 It didn't happen for SunStudio + stlport, so I suspect it's some kind
 of implementation specific pitfall (if not a bug) of g++ version of
 STL.

 Anyway, as long as it works I agree it's better not to rely on
 external helper function or functor, so I updated the code with :: and
 added note about it.

 I've made this change to trac1574b, not the original trac1574.

-- 
Ticket URL: <http://bind10.isc.org/ticket/1574#comment:19>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list