[
https://issues.apache.org/jira/browse/STDCXX-375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12569133#action_12569133
]
Martin Sebor commented on STDCXX-375:
-------------------------------------
I remember running into this problem a long time ago.
I'm not in favor of defeating the purpose of implicit inclusion by
unconditionally #including {{istream.cc}} in {{<istream>}}. I wonder if moving
the two functions to a new header and .cc file of their own, say
{{rw/_stringio.h}} and {{rw/_stringio.cc}}, #including the header in both
{{<istream>}} and {{<string>}}, and using some macro hackery to #include
{{rw/_stringio.cc}} only after {{<istream>}} has been #included could be made
work.
Btw., this seems like another problem due to LWG issue
[343|http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#343]
> std::getline() declared in <istream>, but should be declared in <string>
> ------------------------------------------------------------------------
>
> Key: STDCXX-375
> URL: https://issues.apache.org/jira/browse/STDCXX-375
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 21. Strings
> Affects Versions: 4.1.3, 4.1.4, 4.2.0
> Environment: All
> Reporter: Farid Zaripov
> Assignee: Farid Zaripov
> Fix For: 4.2.1
>
> Attachments: stdcxx-375.patch
>
> Original Estimate: 3h
> Time Spent: 3h
> Remaining Estimate: 0h
>
> The following code fails to compile with errors:
> test.cpp(7) : error C2039: 'getline' : is not a member of 'std'
> test.cpp(7) : error C3861: 'getline': identifier not found, even with
> argument-dependent lookup
> test.cpp:
> ---------------------------
> #include <string>
> #include <iosfwd>
> void test (std::istream& is)
> {
> std::string str;
> std::getline (is, str);
> }
> ---------------------------
> The addition information here:
> http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200703.mbox/[EMAIL
> PROTECTED]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.