Компилятор С++ не распознает std:: stringstream:: swap

Я пытаюсь скомпилировать следующий код с g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7):

#include <sstream>
using namespace std;

int main(int argc, char ** argv)
{
    auto x = 1;
    stringstream s1, s2;
    s1.swap(s2);
}

Я получаю следующую ошибку:

g++ -g -std=c++0x -c main.cpp
main.cpp: In function ‘int main(int, char**)’:
main.cpp:8:5: error: ‘std::stringstream’ has no member named ‘swap’
  s1.swap(s2);
     ^
make: *** [main.o] Error 1

Согласно эта ссылка, она должна работать. Использование разных флагов -std (gnu ++ 11, С++ 0x и т.д.) Не помогло. Что мне не хватает?

Ответ 1

От статуса реализации GCC:

Раздел: 27.5
Описание: базовые классы Iostreams
Поддержка: Partial
Комментарии

  • Отсутствуют операции move и swap на basic_ios.
  • Отсутствует io_errc и iostream_category.
  • ios_base::failure не выводится из system_error.
  • Отсутствует ios_base::hexfloat.

подробнее здесь