В самодельный класс инкапсулирован std::stringstream. Хочется, чтобы к данному классу можно было применять все манипуляторы. Но вот с параметризующими манипуляторами (std::setioflags, std::setbase, std::setfill, std::setprecision, std::setw) у меня выходит непонимание.
Как пример: std::setw вот здесь имеет какой-то странный возвращаемый параметр smanip. Покопавшись в исходниках iostream выяснил, что это — вообще какая-то структура с произвольным именем (у GCC своё, у MSVS своё).
Как организовать передачу таких манипуляторов std::stringstream-у?