OpendTect  6.3
tableascio.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: Nov 2006
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "generalmod.h"
14 #include "bufstringset.h"
15 #include "repos.h"
16 #include "od_iosfwd.h"
17 #include "uistring.h"
18 class UnitOfMeasure;
19 
20 namespace Table
21 {
22 
23 class FormatDesc;
24 class ImportHandler;
25 class ExportHandler;
26 class Converter;
27 class FileFormatRepository;
28 
29 mGlobal(General) FileFormatRepository& FFR();
30 
31 
40 mExpClass(General) AscIO
42 public:
43 
44  AscIO( const FormatDesc& fd )
45  : fd_(fd)
46  , imphndlr_(0)
47  , exphndlr_(0)
48  , cnvrtr_(0)
49  , needfullline_(false)
50  , hdrread_(false) { units_.allowNull(true);}
51  virtual ~AscIO();
52 
53  const FormatDesc& desc() const { return fd_; }
54  uiString errMsg() const { return errmsg_; }
55  uiString warnMsg() const { return warnmsg_; }
56 
57 protected:
58 
59  const FormatDesc& fd_;
60  mutable uiString errmsg_;
61  mutable uiString warnmsg_;
67  mutable bool hdrread_;
70 
71  friend class AscIOImp_ExportHandler;
72  friend class AscIOExp_ImportHandler;
73 
74  void emptyVals() const;
75  void addVal(const char*,const UnitOfMeasure*) const;
76  bool getHdrVals(od_istream&) const;
77  int getNextBodyVals(od_istream&) const;
79  bool putHdrVals(od_ostream&) const;
80  bool putNextBodyVals(od_ostream&) const;
81 
82  const char* text(int) const; // Never returns null
83  int getIntValue(int,int udf=mUdf(int)) const;
84  float getFValue(int,float udf=mUdf(float)) const;
85  double getDValue(int,double udf=mUdf(double)) const;
86  // For more, use Conv:: stuff
87 
88  int formOf(bool hdr,int iinf) const;
89  int columnOf(bool hdr,int iinf,int ielem) const;
90 
91 public:
92  mDeprecated float getfValue(int idx,float udf=mUdf(float)) const
93  { return getFValue( idx, udf ); }
94  mDeprecated double getdValue(int idx,double udf=mUdf(double)) const
95  { return getDValue( idx, udf ); }
96 };
97 
98 
103 {
104 public:
105 
106  void getGroups(BufferStringSet&) const;
107  void getFormats(const char* grp,BufferStringSet&) const;
108 
109  const IOPar* get(const char* grp,const char* nm) const;
110  void set(const char* grp,const char* nm,
113 
114  bool write(Repos::Source) const;
115 
116 protected:
117 
118  FileFormatRepository();
119  void addFromFile(const char*,Repos::Source);
120  const char* grpNm(int) const;
121  int gtIdx(const char*,const char*) const;
122 
123  struct Entry
124  {
125  Entry( Repos::Source src, IOPar* iop )
126  : iopar_(iop), src_(src) {}
127  ~Entry();
128 
129  IOPar* iopar_;
131  };
132 
134 
135  mGlobal(General) friend FileFormatRepository& FFR();
136 
137 };
138 
139 
140 }; // namespace Table
mDeprecated double getdValue(int idx, double udf=mUdf(double)) const
Definition: tableascio.h:94
#define mExpClass(module)
Definition: commondefs.h:157
uiString errMsg() const
Definition: tableascio.h:54
ObjectSet< const UnitOfMeasure > units_
Definition: tableascio.h:63
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
AscIO(const FormatDesc &fd)
Definition: tableascio.h:44
Repos::Source src_
Definition: tableascio.h:130
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mGlobal(module)
Definition: commondefs.h:160
ObjectSet< Entry > entries_
Definition: tableascio.h:133
bool hdrread_
Definition: tableascio.h:67
description of input our output data content
Definition: tabledef.h:215
Definition: uistring.h:88
Converter * cnvrtr_
Definition: tableascio.h:66
Set of BufferString objects.
Definition: bufstringset.h:25
const FormatDesc & fd_
Definition: tableascio.h:59
Definition: tableascio.h:123
uiString warnmsg_
Definition: tableascio.h:61
OD class for stream read.
Definition: od_istream.h:23
FileFormatRepository & FFR()
Definition: tableconv.h:82
Entry(Repos::Source src, IOPar *iop)
Definition: tableascio.h:125
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: geom2dascio.h:18
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Source
Definition: repos.h:23
bool needfullline_
Definition: tableascio.h:68
uiString errmsg_
Definition: tableascio.h:60
#define mDeprecated
Definition: plfdefs.h:213
BufferStringSet fullline_
Definition: tableascio.h:69
Ascii I/O using Format Description.
Definition: tableascio.h:40
IOPar * iopar_
Definition: tableascio.h:129
BufferString errmsg_
Definition: horizontracker.h:117
Holds system- and user-defined formats for different data types (&#39;groups&#39;)
Definition: tableascio.h:102
Definition: tableconv.h:53
uiString warnMsg() const
Definition: tableascio.h:55
mDeprecated float getfValue(int idx, float udf=mUdf(float)) const
Definition: tableascio.h:92
Definition: tableconv.h:22
const FormatDesc & desc() const
Definition: tableascio.h:53
Unit of Measure.
Definition: unitofmeasure.h:33
ImportHandler * imphndlr_
Definition: tableascio.h:64
ExportHandler * exphndlr_
Definition: tableascio.h:65
BufferStringSet vals_
Definition: tableascio.h:62

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