+#if defined (_WIN64) || defined (__LP64__)
+
+/// \brief Writes a size_t \p i to \p ostream in decimal form.
+template<typename TextOutputStreamType>
+inline TextOutputStreamType& ostream_write(TextOutputStreamType& ostream, const size_t i)
+{
+ // max is 18446744073709551615, buffer of 32 chars should always be enough
+ const std::size_t bufferSize = 32;
+#if 1
+ char buf[bufferSize];
+ char* begin = TextOutputDetail::write_size_t_decimal_backward(buf + bufferSize, i, false);
+ ostream.write(begin, (buf + bufferSize) - begin);
+#else
+ char buf[bufferSize];
+ ostream.write(buf, snprintf(buf, bufferSize, "%u", i));
+#endif
+ return ostream;
+}
+
+#endif
+