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