]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wfstream.h
supporting clang memory management annotations
[wxWidgets.git] / include / wx / wfstream.h
index 9a2fa60ba7dcd54b328f4400d94087a2bc7769de..1c44202177e8a443e793410d249416274a6e1078 100644 (file)
@@ -118,6 +118,31 @@ public:
     wxFileStream(const wxString& fileName);
     virtual bool IsOk() const;
 
+    // override (some) virtual functions inherited from both classes to resolve
+    // ambiguities (this wouldn't be necessary if wxStreamBase were a virtual
+    // base class but it isn't)
+
+    virtual bool IsSeekable() const
+    {
+        return wxFileInputStream::IsSeekable();
+    }
+
+    virtual wxFileOffset GetLength() const
+    {
+        return wxFileInputStream::GetLength();
+    }
+
+protected:
+    virtual wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode)
+    {
+        return wxFileInputStream::OnSysSeek(pos, mode);
+    }
+
+    virtual wxFileOffset OnSysTell() const
+    {
+        return wxFileInputStream::OnSysTell();
+    }
+
 private:
     wxDECLARE_NO_COPY_CLASS(wxFileStream);
 };
@@ -193,8 +218,33 @@ class WXDLLIMPEXP_BASE wxFFileStream : public wxFFileInputStream,
 {
 public:
     wxFFileStream(const wxString& fileName, const wxString& mode = "w+b");
+
+    // override some virtual functions to resolve ambiguities, just as in
+    // wxFileStream
+
     virtual bool IsOk() const;
 
+    virtual bool IsSeekable() const
+    {
+        return wxFFileInputStream::IsSeekable();
+    }
+
+    virtual wxFileOffset GetLength() const
+    {
+        return wxFFileInputStream::GetLength();
+    }
+
+protected:
+    virtual wxFileOffset OnSysSeek(wxFileOffset pos, wxSeekMode mode)
+    {
+        return wxFFileInputStream::OnSysSeek(pos, mode);
+    }
+
+    virtual wxFileOffset OnSysTell() const
+    {
+        return wxFFileInputStream::OnSysTell();
+    }
+
 private:
     wxDECLARE_NO_COPY_CLASS(wxFFileStream);
 };