]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stream.h
Correct wxDataViewCtrl::IsExpanded
[wxWidgets.git] / interface / wx / stream.h
index 6398891aa704828d13e5615d27741c3ebd0644c9..51db34912d6111f88c1b7bd2816bbc62faf66b51 100644 (file)
@@ -76,10 +76,27 @@ public:
     virtual bool IsOk() const;
 
     /**
-        Returns @true if the streams supports seeking to arbitrary offsets.
+        Returns @true if the stream supports seeking to arbitrary offsets.
     */
     virtual bool IsSeekable() const;
 
+    /**
+        Returns the opposite of IsOk().
+        You can use this function to test the validity of the stream as if
+        it was a pointer:
+
+        @code
+            bool DoSomething(wxInputStream& stream)
+            {
+                wxInt32 data;
+                if (!stream.Read(&data, 4))
+                    return false;
+                ...
+            }
+        @endcode
+    */
+    bool operator!() const;
+
 protected:
 
     /**
@@ -155,8 +172,13 @@ public:
         and calling SetBufferIO() but is more convenient.
 
         @since 2.9.0
+
+        @param bufsize
+            The size of buffer in bytes.
+        @param stream
+            The associated input stream, the buffer will be used in read mode.
      */
-    wxStreamBuffer(wxInputStream& stream, size_t bufsize);
+    wxStreamBuffer(size_t bufsize, wxInputStream& stream);
 
     /**
         Constructor for an output buffer of the specified size.
@@ -165,8 +187,13 @@ public:
         and calling SetBufferIO() but is more convenient.
 
         @since 2.9.0
+
+        @param bufsize
+            The size of buffer in bytes.
+        @param stream
+            The associated output stream, the buffer will be used in write mode.
      */
-    wxStreamBuffer(wxOutputStream& stream, size_t bufsize);
+    wxStreamBuffer(size_t bufsize, wxOutputStream& stream);
 
     /**
         Constructor; creates a new empty stream buffer which won't flush any data
@@ -586,6 +613,11 @@ public:
     /**
         Changes the stream current position.
 
+        This operation in general is possible only for seekable streams 
+        (see wxStreamBase::IsSeekable()); non-seekable streams support only
+        seeking positive amounts in mode @c wxFromCurrent (this is implemented
+        by reading data and simply discarding it).
+
         @param pos
             Offset to seek to.
         @param mode
@@ -596,7 +628,9 @@ public:
     virtual wxFileOffset SeekI(wxFileOffset pos, wxSeekMode mode = wxFromStart);
 
     /**
-        Returns the current stream position.
+        Returns the current stream position or ::wxInvalidOffset if it's not
+        available (e.g. socket streams do not have a size nor a current stream
+        position).
     */
     virtual wxFileOffset TellI() const;