Section: 31.7.5.4 [istream.unformatted] Status: NAD Submitter: Loïc Joly Opened: 2012-03-05 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [istream.unformatted].
View all issues with NAD status.
Discussion:
I think the following code should be legal:
void f(std::istream& is) { std::string s; is.getline(s); // Would be equivalent to std::getline(is, s) }
[2013-04-20, Bristol]
Unanimous that this is a new feature request and not a issue.
Resolution: Tentatively NADProposed resolution:
This wording is relative to N3376.
Change the class template basic_istream
synopsis, 31.7.5.2 [istream], as indicated
namespace std { template <class charT, class traits = char_traits<charT> > class basic_istream : virtual public basic_ios<charT,traits> { public: […] // 27.7.2.3 Unformatted input: […] basic_istream<charT,traits>& getline(char_type* s, streamsize n); basic_istream<charT,traits>& getline(char_type* s, streamsize n, char_type delim); template<class Allocator> basic_istream<charT,traits>& getline(basic_string<charT,traits,Allocator>& str); template<class Allocator> basic_istream<charT,traits>& getline(basic_string<charT,traits,Allocator>& str, char_type delim); […] }; }
Insert the following two new prototype descriptions after 31.7.5.4 [istream.unformatted] paragraph 24:
basic_istream<charT,traits>& getline(char_type* s, streamsize n);-24- Returns:
getline(s,n,widen('\n'))
template<class Allocator> basic_istream<charT,traits>& getline(basic_string<charT,traits,Allocator>& str);-??- Returns:
std::getline(*this, str)
template<class Allocator> basic_istream<charT,traits>& getline(basic_string<charT,traits,Allocator>& str, char_type delim);-??- Returns:
std::getline(*this, str, delim)