This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Value type of map need not be default copyable


On Thu, 9 Aug 2012, François Dumont wrote:

Here is an updated version considering the good catch from Marc. However I prefer to use an explicit instantiation of tuple rather than using cref that would have imply inclusion of <functional> in addition to <tuple>.

I wouldn't have used make_tuple at all (tuple<>() is shorter than make_tuple()), but I wanted to stick to your style as much as possible ;-)


I don't know if std:: is needed, but it looks strange to have it only on some functions:
std::forward_as_tuple(forward<key_type>(__k)),


Looking at this line again, you seem to be using std::forward on something that is not a deduced parameter type. I guess it is equivalent to std::move in this case, it just confuses me a bit.

   * include/std/unordered_map: Include tuple.
   * include/std/unordered_set: Likewise.

Is it a libstdc++ policy to put all includes in the topmost headers, as opposed to the header where they are used? I never paid much attention to it, I was just surprised because it doesn't match what I do in my code. But since hashtable*.h currently include nothing, it is consistent. Does that help with compile-time?


(ok, it is a bit obvious that I pretended to make a review just so I had an excuse to ask a question at the end ;-)

--
Marc Glisse


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]