NetCDF-C++  4.3.1-developer
ncVar.h
1 #include <exception>
2 #include <string>
3 #include <typeinfo>
4 #include <map>
5 #include <vector>
6 #include "netcdf.h"
7 #include "ncVarAtt.h"
8 #include "ncGroup.h"
9 #include "ncByte.h"
10 #include "ncUbyte.h"
11 #include "ncChar.h"
12 #include "ncShort.h"
13 #include "ncUshort.h"
14 #include "ncInt.h"
15 #include "ncUint.h"
16 #include "ncInt64.h"
17 #include "ncUint64.h"
18 #include "ncFloat.h"
19 #include "ncDouble.h"
20 #include "ncString.h"
21 
22 #ifndef NcVarClass
23 #define NcVarClass
24 
25 namespace netCDF
26 {
27  // class NcGroup; // forward declaration.
28  class NcDim; // forward declaration.
29  // class NcVarAtt; // forward declaration.
30  class NcType; // forward declaration.
31 
33  class NcVar
34  {
35  public:
36 
38  enum ChunkMode
39  {
43  nc_CHUNKED = NC_CHUNKED,
48  nc_CONTIGUOUS = NC_CONTIGUOUS
49  };
50 
55  {
56  nc_ENDIAN_NATIVE = NC_ENDIAN_NATIVE,
57  nc_ENDIAN_LITTLE = NC_ENDIAN_LITTLE,
58  nc_ENDIAN_BIG = NC_ENDIAN_BIG
59  };
60 
63  {
64  nc_NOCHECKSUM = NC_NOCHECKSUM,
65  nc_FLETCHER32 = NC_FLETCHER32
66  };
67 
69  ~NcVar(){};
70 
72  NcVar ();
73 
80  NcVar (const NcGroup& grp, const int& varId);
81 
83  NcVar& operator =(const NcVar& rhs);
84 
86  bool operator==(const NcVar& rhs) const;
87 
89  bool operator!=(const NcVar& rhs) const;
90 
92  NcVar(const NcVar& ncVar);
93 
95  std::string getName() const;
96 
98  NcGroup getParentGroup() const;
99 
101  NcType getType() const;
102 
103 
105  void rename( const std::string& newname ) const;
106 
107 
109  int getId() const;
110 
112  bool isNull() const {return nullObject;}
113 
115  friend bool operator<(const NcVar& lhs,const NcVar& rhs);
116 
118  friend bool operator>(const NcVar& lhs,const NcVar& rhs);
119 
121 
122  // Information about Dimensions
123 
125 
127  int getDimCount() const ;
128 
130  NcDim getDim(int i) const;
131 
133  std::vector<NcDim> getDims() const;
134 
136 
137  // Information about Attributes
138 
140 
142  int getAttCount() const;
143 
145  NcVarAtt getAtt(const std::string& name) const;
146 
148  std::map<std::string,NcVarAtt> getAtts() const;
149 
150 
151 
152 
154 
155 
158  NcVarAtt putAtt(const std::string& name, size_t len, const char** dataValues) const ;
159 
162  NcVarAtt putAtt(const std::string& name, const std::string& dataValues) const ;
163 
166  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const unsigned char* dataValues) const ;
169  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const signed char* dataValues) const ;
172  NcVarAtt putAtt(const std::string& name, const NcType& type, short datumValue) const ;
175  NcVarAtt putAtt(const std::string& name, const NcType& type, int datumValue) const ;
178  NcVarAtt putAtt(const std::string& name, const NcType& type, long datumValue) const ;
181  NcVarAtt putAtt(const std::string& name, const NcType& type, float datumValue) const ;
184  NcVarAtt putAtt(const std::string& name, const NcType& type, double datumValue) const ;
187  NcVarAtt putAtt(const std::string& name, const NcType& type, unsigned short datumValue) const ;
190  NcVarAtt putAtt(const std::string& name, const NcType& type, unsigned int datumValue) const ;
193  NcVarAtt putAtt(const std::string& name, const NcType& type, unsigned long long datumValue) const ;
196  NcVarAtt putAtt(const std::string& name, const NcType& type, long long datumValue) const ;
199  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const short* dataValues) const ;
202  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const int* dataValues) const ;
205  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const long* dataValues) const ;
208  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const float* dataValues) const ;
211  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const double* dataValues) const ;
214  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const unsigned short* dataValues) const ;
217  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const unsigned int* dataValues) const ;
220  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const unsigned long long* dataValues) const ;
223  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const long long* dataValues) const ;
239  NcVarAtt putAtt(const std::string& name, const NcType& type, size_t len, const void* dataValues) const ;
240 
241 
242 
244 
245  // Chunking details
246 
248 
253  void setChunking(ChunkMode chunkMode, std::vector<size_t>& chunksizes) const;
254 
259  void getChunkingParameters(ChunkMode& chunkMode, std::vector<size_t>& chunkSizes) const;
260 
261 
262 
264 
265  // Fill details
266 
268 
269  // Sets the fill parameters
273  void setFill(bool fillMode,void* fillValue=NULL) const;
274 
283  void setFill(bool fillMode,const void* fillValue=NULL) const;
284 
290  template<class T>
291  void setFill(bool fillMode, T fillValue) const
292  {
293  ncCheck(nc_def_var_fill(groupId,myId,static_cast<int> (!fillMode),&fillValue),__FILE__,__LINE__);
294  }
295 
296 
297 
298 
307  void getFillModeParameters(bool& fillMode, void* fillValue=NULL) const;
308 
309 
314  template <class T> void getFillModeParameters(bool& fillMode,T& fillValue) const{
315  int fillModeInt;
316  ncCheck(nc_inq_var_fill(groupId,myId,&fillModeInt,&fillValue),__FILE__,__LINE__);
317  fillMode= static_cast<bool> (fillModeInt == 0);
318  }
319 
320 
321 
322 
324 
325  // Compression details
326 
328 
329 
335  void setCompression(bool enableShuffleFilter, bool enableDeflateFilter, int deflateLevel) const;
336 
342  void getCompressionParameters(bool& shuffleFilterEnabled, bool& deflateFilterEnabled, int& deflateLevel) const;
343 
344 
345 
347 
348  // Endianness details
349 
351 
352 
356  void setEndianness(EndianMode endianMode) const;
357 
361  EndianMode getEndianness() const;
362 
363 
364 
366 
367  // Checksum details
368 
370 
371 
375  void setChecksum(ChecksumMode checksumMode) const;
376 
380  ChecksumMode getChecksum() const;
381 
382 
383 
385 
386  // data reading
387 
389 
390 
391 
392  // Reads the entire data into the netCDF variable.
399  void getVar(void* dataValues) const;
402  void getVar(char** dataValues) const;
405  void getVar(char* dataValues) const;
408  void getVar(unsigned char* dataValues) const;
411  void getVar(signed char* dataValues) const;
414  void getVar(short* dataValues) const;
417  void getVar(int* dataValues) const;
420  void getVar(long* dataValues) const;
423  void getVar(float* dataValues) const;
426  void getVar(double* dataValues) const;
429  void getVar(unsigned short* dataValues) const;
432  void getVar(unsigned int* dataValues) const;
435  void getVar(unsigned long long* dataValues) const;
452  void getVar(long long* dataValues) const;
453 
454 
456 
457  // Reads a single datum value from a variable of an open netCDF dataset.
464  void getVar(const std::vector<size_t>& index, void* datumValue) const;
467  void getVar(const std::vector<size_t>& index, char** datumValue) const;
470  void getVar(const std::vector<size_t>& index, char* datumValue) const;
473  void getVar(const std::vector<size_t>& index, unsigned char* datumValue) const;
476  void getVar(const std::vector<size_t>& index, signed char* datumValue) const;
479  void getVar(const std::vector<size_t>& index, short* datumValue) const;
482  void getVar(const std::vector<size_t>& index, int* datumValue) const;
485  void getVar(const std::vector<size_t>& index, long* datumValue) const;
488  void getVar(const std::vector<size_t>& index, float* datumValue) const;
491  void getVar(const std::vector<size_t>& index, double* datumValue) const;
494  void getVar(const std::vector<size_t>& index, unsigned short* datumValue) const;
497  void getVar(const std::vector<size_t>& index, unsigned int* datumValue) const;
500  void getVar(const std::vector<size_t>& index, unsigned long long* datumValue) const;
514  void getVar(const std::vector<size_t>& index, long long* datumValue) const;
515 
517 
518  // Reads an array of values from a netCDF variable of an open netCDF dataset.
525  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, void* dataValues) const;
528  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, char** dataValues) const;
531  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, char* dataValues) const;
534  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, unsigned char* dataValues) const;
537  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, signed char* dataValues) const;
540  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, short* dataValues) const;
543  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, int* dataValues) const;
546  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, long* dataValues) const;
549  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, float* dataValues) const;
552  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, double* dataValues) const;
555  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, unsigned short* dataValues) const;
558  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, unsigned int* dataValues) const;
561  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, unsigned long long* dataValues) const;
586  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, long long* dataValues) const;
587 
589 
590  // Reads a subsampled (strided) array section of values from a netCDF variable.
597  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, void* dataValues) const;
600  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, char** dataValues) const;
603  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, char* dataValues) const;
606  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, unsigned char* dataValues) const;
609  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, signed char* dataValues) const;
612  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, short* dataValues) const;
615  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, int* dataValues) const;
618  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, long* dataValues) const;
621  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, float* dataValues) const;
624  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, double* dataValues) const;
627  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, unsigned short* dataValues) const;
630  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, unsigned int* dataValues) const;
633  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, unsigned long long* dataValues) const;
664  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, long long* dataValues) const;
665 
666 
668 
669  // Reads a mapped array section of values from a netCDF variable.
676  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, void* dataValues) const;
679  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, char** dataValues) const;
682  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, char* dataValues) const;
685  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, unsigned char* dataValues) const;
688  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, signed char* dataValues) const;
691  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, short* dataValues) const;
694  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, int* dataValues) const;
697  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, long* dataValues) const;
700  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, float* dataValues) const;
703  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, double* dataValues) const;
706  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, unsigned short* dataValues) const;
709  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, unsigned int* dataValues) const;
712  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, unsigned long long* dataValues) const;
754  void getVar(const std::vector<size_t>& start, const std::vector<size_t>& count, const std::vector<ptrdiff_t>& stride, const std::vector<ptrdiff_t>& imap, long long* dataValues) const;
755 
756 
757 
759 
760  // data writing
761 
763 
764 
765  // Writes the entire data into the netCDF variable.
772  void putVar(const void* dataValues) const;
775  void putVar(const char** dataValues) const;
778  void putVar(const char* dataValues) const;
781  void putVar(const unsigned char* dataValues) const;
784  void putVar(const signed char* dataValues) const;
787  void putVar(const short* dataValues) const;
790  void putVar(const int* dataValues) const;
793  void putVar(const long* dataValues) const;
796  void putVar(const float* dataValues) const;
799  void putVar(const double* dataValues) const;
802  void putVar(const unsigned short* dataValues) const;
805  void putVar(const unsigned int* dataValues) const;
808  void putVar(const unsigned long long* dataValues) const;
831  void putVar(const long long* dataValues) const;
832 
833 
834 
836 
837 
838  // Writes a single datum into the netCDF variable.
845  void putVar(const std::vector<size_t>& index, const void* datumValue) const;
848  void putVar(const std::vector<size_t>& index, const char** datumValue) const;
851  void putVar(const std::vector<size_t>& index, const std::string& datumValue) const;
854  void putVar(const std::vector<size_t>& index, const unsigned char* datumValue) const;
857  void putVar(const std::vector<size_t>& index, const signed char* datumValue) const;
860  void putVar(const std::vector<size_t>& index, const short datumValue) const;
863  void putVar(const std::vector<size_t>& index, const int datumValue) const;
866  void putVar(const std::vector<size_t>& index, const long datumValue) const;
869  void putVar(const std::vector<size_t>& index, const float datumValue) const;
872  void putVar(const std::vector<size_t>& index, const double datumValue) const;
875  void putVar(const std::vector<size_t>& index, const unsigned short datumValue) const;
878  void putVar(const std::vector<size_t>& index, const unsigned int datumValue) const;
881  void putVar(const std::vector<size_t>& index, const unsigned long long datumValue) const;
893  void putVar(const std::vector<size_t>& index, const long long datumValue) const;
894 
895 
897 
898 
899 
900  // Writes an array of values into the netCDF variable.
907  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const void* dataValues) const;
910  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const char** dataValues) const;
913  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const char* dataValues) const;
916  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const unsigned char* dataValues) const;
919  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const signed char* dataValues) const;
922  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const short* dataValues) const;
925  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const int* dataValues) const;
928  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const long* dataValues) const;
931  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const float* dataValues) const;
934  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const double* dataValues) const;
937  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const unsigned short* dataValues) const;
940  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const unsigned int* dataValues) const;
943  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const unsigned long long* dataValues) const;
966  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const long long* dataValues) const;
967 
968 
970 
971 
972 
973  // Writes a set of subsampled array values into the netCDF variable.
980  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const void* dataValues) const;
983  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const char** dataValues) const;
986  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const char* dataValues) const;
989  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const unsigned char* dataValues) const;
992  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const signed char* dataValues) const;
995  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const short* dataValues) const;
998  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const int* dataValues) const;
1001  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const long* dataValues) const;
1004  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const float* dataValues) const;
1007  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const double* dataValues) const;
1010  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const unsigned short* dataValues) const;
1013  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const unsigned int* dataValues) const;
1016  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const unsigned long long* dataValues) const;
1041  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const long long* dataValues) const;
1042 
1044 
1045  // Writes a mapped array section of values into the netCDF variable.
1052  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const void* dataValues) const;
1055  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const char** dataValues) const;
1058  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const char* dataValues) const;
1061  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const unsigned char* dataValues) const;
1064  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const signed char* dataValues) const;
1067  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const short* dataValues) const;
1070  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const int* dataValues) const;
1073  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const long* dataValues) const;
1076  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const float* dataValues) const;
1079  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const double* dataValues) const;
1082  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const unsigned short* dataValues) const;
1085  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const unsigned int* dataValues) const;
1088  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const unsigned long long* dataValues) const;
1118  void putVar(const std::vector<size_t>& startp, const std::vector<size_t>& countp, const std::vector<ptrdiff_t>& stridep, const std::vector<ptrdiff_t>& imapp, const long long* dataValues) const;
1119 
1120 
1121 
1122  private:
1123 
1124  bool nullObject;
1125 
1126  int myId;
1127 
1128  int groupId;
1129 
1130  };
1131 
1132 
1133 }
1134 
1135 
1136 
1137 #endif
int getAttCount() const
Gets the number of attributes.
Definition: ncVar.cpp:187
ChecksumMode
Used for checksum specification (see NcVar::setChecksum, NcVar::getChecksum).
Definition: ncVar.h:62
int getDimCount() const
The the number of dimensions.
Definition: ncVar.cpp:142
void getChunkingParameters(ChunkMode &chunkMode, std::vector< size_t > &chunkSizes) const
Gets the chunking parameters.
Definition: ncVar.cpp:550
Base class inherited by NcOpaque, NcVlen, NcCompound and NcEnum classes.
Definition: ncType.h:14
bool operator!=(const NcVar &rhs) const
!= operator
Definition: ncVar.cpp:53
int getId() const
Get the variable id.
Definition: ncVar.cpp:86
std::map< std::string, NcVarAtt > getAtts() const
Gets the set of attributes.
Definition: ncVar.cpp:196
C++ API for netCDF4.
Definition: ncAtt.h:9
No checksum (the default).
Definition: ncVar.h:64
NcVarAtt putAtt(const std::string &name, size_t len, const char **dataValues) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
friend bool operator>(const NcVar &lhs, const NcVar &rhs)
comparator operator
Definition: ncVar.cpp:20
Selects the Fletcher32 checksum filter.
Definition: ncVar.h:65
void setCompression(bool enableShuffleFilter, bool enableDeflateFilter, int deflateLevel) const
Sets the compression parameters.
Definition: ncVar.cpp:601
void setChecksum(ChecksumMode checksumMode) const
Sets the checksum parameters of a variable.
Definition: ncVar.cpp:661
EndianMode getEndianness() const
Gets the endianness of the variable.
Definition: ncVar.cpp:644
Chunked storage is used for this variable.
Definition: ncVar.h:43
Class represents a netCDF group.
Definition: ncGroup.h:27
std::vector< NcDim > getDims() const
Gets the set of NcDim objects.
Definition: ncVar.cpp:151
NcVarAtt getAtt(const std::string &name) const
Gets attribute by name.
Definition: ncVar.cpp:211
friend bool operator<(const NcVar &lhs, const NcVar &rhs)
comparator operator
Definition: ncVar.cpp:14
void setEndianness(EndianMode endianMode) const
Sets the endianness of the variable.
Definition: ncVar.cpp:637
NcGroup getParentGroup() const
Gets parent group.
Definition: ncVar.cpp:80
NcType getType() const
Returns the variable type.
Definition: ncVar.cpp:96
bool isNull() const
Returns true if this object variable is not defined.
Definition: ncVar.h:112
void getVar(void *dataValues) const
This is an overloaded member function, provided for convenience.
Definition: ncVar.cpp:1439
void setFill(bool fillMode, void *fillValue=NULL) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: ncVar.cpp:569
NcDim getDim(int i) const
Gets the i&#39;th NcDim object.
Definition: ncVar.cpp:171
Contiguous storage is used for this variable.
Definition: ncVar.h:48
Class represents a netCDF dimension.
Definition: ncDim.h:13
~NcVar()
destructor
Definition: ncVar.h:69
bool operator==(const NcVar &rhs) const
equivalence operator
Definition: ncVar.cpp:46
void ncCheck(int retCode, const char *file, int line)
Function checks error code and if necessary throws an exception.
Definition: ncCheck.cpp:11
void getFillModeParameters(bool &fillMode, T &fillValue) const
Gets the fill parameters.
Definition: ncVar.h:314
std::string getName() const
Name of this NcVar object.
Definition: ncVar.cpp:528
void putVar(const void *dataValues) const
This is an overloaded member function, provided for convenience.
Definition: ncVar.cpp:815
Class represents a netCDF attribute local to a netCDF variable.
Definition: ncVarAtt.h:13
void setChunking(ChunkMode chunkMode, std::vector< size_t > &chunksizes) const
Sets chunking parameters.
Definition: ncVar.cpp:543
void rename(const std::string &newname) const
Rename the variable.
Definition: ncVar.cpp:682
NcVar & operator=(const NcVar &rhs)
assignment operator
Definition: ncVar.cpp:29
void setFill(bool fillMode, T fillValue) const
Sets the fill parameters.
Definition: ncVar.h:291
void getCompressionParameters(bool &shuffleFilterEnabled, bool &deflateFilterEnabled, int &deflateLevel) const
Gets the compression parameters.
Definition: ncVar.cpp:615
Class represents a netCDF variable.
Definition: ncVar.h:33
NcVar()
Constructor generates a null object.
Definition: ncVar.cpp:65
void getFillModeParameters(bool &fillMode, void *fillValue=NULL) const
This is an overloaded member function, provided for convenience.
Definition: ncVar.cpp:585
ChunkMode
Used for chunking specifications (see NcVar::setChunking, NcVar::getChunkingParameters).
Definition: ncVar.h:38
ChecksumMode getChecksum() const
Gets the checksum parameters of the variable.
Definition: ncVar.cpp:667
EndianMode
Used to specifying the endianess of the data, (see NcVar::setEndianness, NcVar::getEndianness).
Definition: ncVar.h:54

Return to the Main Unidata NetCDF page.
Generated on Fri Nov 11 2016 15:28:29 for NetCDF-C++. NetCDF is a Unidata library.