Вы можете написать свой собственный манипулятор:
struct my_manipulator{};
std::ostream& operator<<(std::ostream& o, const my_manipulator& mm) {
o << std::setw(5) << std::scientific << std::left;
return o;
};
Это позволит вам написать
outputFile << my_manipulator{} << variable;
PS: Io-манипуляторы изменяют состояние потока. Следовательно, он не может работать именно так, как вы просили. Вы изменяете состояние m
. Передача состояния из одного потока в другой возможна, но imho сложнее, чем необходимо.
PPS: обратите внимание, что мой способ определения пользовательского io-манипулятора - это нормально-i sh, но посмотреть на реализацию это больше в духе потоковых манипуляторов, см. этот ответ (обычно io-манипуляторы являются функциями, я использовал тег, который требует чуть больше шаблонного).