+ // write_little_endian(s, values, N) : write integers in bulk to a little indian stream.
+ // This takes N integers from array values and writes them on stream s.
+ template <typename IntType>
+ inline void write_little_endian(std::ostream& stream, const IntType* values, std::size_t count) {
+ if (IsLittleEndian)
+ stream.write(reinterpret_cast<const char*>(values), sizeof(IntType) * count);
+ else
+ for (std::size_t i = 0; i < count; ++i)
+ write_little_endian<IntType>(stream, values[i]);