+ void BigEndianOrdered(bool be_order) { m_be_order = be_order; }
+
+ // By default we use extended precision (80 bit) format for both float and
+ // doubles. Call this function to switch to alternative representation in
+ // which IEEE 754 single precision (32 bits) is used for floats and double
+ // precision (64 bits) is used for doubles.
+ void UseBasicPrecisions()
+ {
+#if wxUSE_APPLE_IEEE
+ m_useExtendedPrecision = false;
+#endif // wxUSE_APPLE_IEEE
+ }
+
+ // UseExtendedPrecision() is not very useful as it corresponds to the
+ // default value, only call it in your code if you want the compilation
+ // fail with the error when using wxWidgets library compiled without
+ // extended precision support.
+#if wxUSE_APPLE_IEEE
+ void UseExtendedPrecision()
+ {
+ m_useExtendedPrecision = true;
+ }
+#endif // wxUSE_APPLE_IEEE
+
+#if wxUSE_UNICODE
+ void SetConv( const wxMBConv &conv );
+ wxMBConv *GetConv() const { return m_conv; }
+#endif
+
+protected:
+ // Ctor and dtor are both protected, this class is never used directly but
+ // only by its derived classes.
+ wxDataStreamBase(const wxMBConv& conv);
+ ~wxDataStreamBase();
+
+
+ bool m_be_order;
+
+#if wxUSE_APPLE_IEEE
+ bool m_useExtendedPrecision;
+#endif // wxUSE_APPLE_IEEE