Logo ROOT  
Reference Guide
Go to the documentation of this file.
1// @(#)root/io:$Id$
2// Author: Jakob Blomer
5 * Copyright (C) 1995-2018, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
12#ifndef ROOT_RRawFileWin
13#define ROOT_RRawFileWin
15#include <ROOT/RRawFile.hxx>
16#include <ROOT/RStringView.hxx>
18#include <cstddef>
19#include <cstdint>
20#include <cstdio>
22namespace ROOT {
23namespace Internal {
26 * \class RRawFileWin RRawFileWin.hxx
27 * \ingroup IO
28 *
29 * The RRawFileWin class uses portable C I/O calls to read from a drive. The standard C I/O buffering is turned off
30 * for the buffering of RRawFile base class.
31 */
32class RRawFileWin : public RRawFile {
34 FILE *fFilePtr;
35 void Seek(long offset, int whence);
38 void OpenImpl() final;
39 size_t ReadAtImpl(void *buffer, size_t nbytes, std::uint64_t offset) final;
40 std::uint64_t GetSizeImpl() final;
43 RRawFileWin(std::string_view url, RRawFile::ROptions options);
44 ~RRawFileWin();
45 std::unique_ptr<RRawFile> Clone() const final;
46 int GetFeatures() const final { return kFeatureHasSize; }
49} // namespace Internal
50} // namespace ROOT
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
The RRawFileWin class uses portable C I/O calls to read from a drive.
Definition: RRawFileWin.hxx:32
size_t ReadAtImpl(void *buffer, size_t nbytes, std::uint64_t offset) final
Derived classes should implement low-level reading without buffering.
Definition: RRawFileWin.cxx:68
std::unique_ptr< RRawFile > Clone() const final
Create a new RawFile that accesses the same resource. The file pointer is reset to zero.
Definition: RRawFileWin.cxx:40
std::uint64_t GetSizeImpl() final
Derived classes should return the file size or kUnknownFileSize.
Definition: RRawFileWin.cxx:45
int GetFeatures() const final
Derived classes shall inform the user about the supported functionality, which can possibly depend on...
Definition: RRawFileWin.hxx:46
void Seek(long offset, int whence)
Definition: RRawFileWin.cxx:79
void OpenImpl() final
OpenImpl() is called at most once and before any call to either DoReadAt or DoGetSize.
Definition: RRawFileWin.cxx:56
The RRawFile provides read-only access to local and remote files.
Definition: RRawFile.hxx:43
static constexpr int kFeatureHasSize
GetSize() does not return kUnknownFileSize.
Definition: RRawFile.hxx:52
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
On construction, an ROptions parameter can customize the RRawFile behavior.
Definition: RRawFile.hxx:59