OpendTect  6.6
strmdata.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H.Bril
8  Date: 3-4-1996
9  Contents: Data on any stream
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "basicmod.h"
16 
17 #include "ptrman.h"
18 #include "bufstring.h"
19 #include <iosfwd>
20 
21 
27 {
28 public:
29 
31  StreamData(const StreamData&) = delete;
33 
34  StreamData& operator=(const StreamData&) = delete;
36 
38 
39  void close();
40  bool usable() const;
41 
42  void setFileName( const char* fn );
43  const char* fileName() const;
44 
45  std::ios* streamPtr() const;
46 
47  std::istream* iStrm() const { return impl_->istrm_; }
48  std::ostream* oStrm() const { return impl_->ostrm_; }
49 
50  void setIStrm( std::istream* );
51  void setOStrm( std::ostream* );
52 
53  //Internal use (unless you're making connectors to weird external streams)
55  {
56  public:
57  virtual void close();
58  virtual ~StreamDataImpl() {}
60  std::istream* istrm_ = nullptr;
61  std::ostream* ostrm_ = nullptr;
62  };
63 
65 
66 private:
67 
69 
70 };
71 
StreamData::operator=
StreamData & operator=(const StreamData &)=delete
StreamData::operator=
StreamData & operator=(StreamData &&)
StreamData::setImpl
void setImpl(StreamDataImpl *)
StreamData
Holds data to use and close an iostream. Usually created by StreamProvider.
Definition: strmdata.h:27
StreamData::transferTo
void transferTo(StreamData &)
retains file name
StreamData::impl_
PtrMan< StreamDataImpl > impl_
Definition: strmdata.h:68
StreamData::StreamDataImpl::fname_
BufferString fname_
Definition: strmdata.h:59
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
StreamData::oStrm
std::ostream * oStrm() const
Definition: strmdata.h:48
StreamData::iStrm
std::istream * iStrm() const
Definition: strmdata.h:47
StreamData::setFileName
void setFileName(const char *fn)
bufstring.h
StreamData::close
void close()
ptrman.h
StreamData::setIStrm
void setIStrm(std::istream *)
StreamData::usable
bool usable() const
StreamData::StreamDataImpl
Definition: strmdata.h:55
PtrMan
Definition: ptrman.h:121
StreamData::StreamDataImpl::close
virtual void close()
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
mDeprecatedObs
#define mDeprecatedObs
Definition: plfdefs.h:217
StreamData::StreamData
StreamData()
StreamData::fileName
const char * fileName() const
StreamData::StreamData
StreamData(const StreamData &)=delete
StreamData::StreamData
StreamData(StreamData &&)
StreamData::setOStrm
void setOStrm(std::ostream *)
StreamData::streamPtr
std::ios * streamPtr() const
StreamData::StreamDataImpl::~StreamDataImpl
virtual ~StreamDataImpl()
Definition: strmdata.h:58

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021