00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef TABLES_STMANCOLUMN_H
00029 #define TABLES_STMANCOLUMN_H
00030
00031
00032
00033 #include <casacore/casa/aips.h>
00034 #include <casacore/tables/DataMan/DataManager.h>
00035
00036 namespace casacore {
00037
00038
00039 template<class T> class Vector;
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102 class StManColumn : public DataManagerColumn
00103 {
00104 public:
00105
00106
00107 StManColumn (int dataType);
00108
00109 ~StManColumn();
00110
00111
00112
00113 static Bool isNativeDataType (int dtype);
00114
00115
00116 int dataType() const;
00117
00118
00119 Bool canAccessScalarColumn (Bool& reask) const;
00120
00121
00122
00123 Bool canAccessScalarColumnCells (Bool& reask) const;
00124
00125
00126
00127 Bool canAccessArrayColumnCells (Bool& reask) const;
00128
00129
00130
00131
00132
00133
00134
00135 void getScalarColumnV (void* dataPtr);
00136
00137
00138
00139
00140
00141
00142
00143 void putScalarColumnV (const void* dataPtr);
00144
00145
00146
00147
00148
00149
00150
00151 void getScalarColumnCellsV (const RefRows& rownrs,
00152 void* dataPtr);
00153
00154
00155
00156
00157
00158
00159
00160 void putScalarColumnCellsV (const RefRows& rownrs,
00161 const void* dataPtr);
00162
00163
00164
00165
00166
00167
00168
00169
00170 uInt getBlockV (uInt rownr, uInt nrmax, void* dataPtr);
00171
00172
00173
00174
00175
00176
00177
00178
00179 void putBlockV (uInt rownr, uInt nrmax, const void* dataPtr);
00180
00181
00182
00183
00184
00185
00186
00187 void getArrayV (uInt rownr, void* dataPtr);
00188
00189
00190
00191
00192
00193
00194
00195 void putArrayV (uInt rownr, const void* dataPtr);
00196
00197
00198
00199
00200
00201
00202
00203 void getArrayColumnV (void* dataPtr);
00204
00205
00206
00207
00208
00209
00210
00211 void putArrayColumnV (const void* dataPtr);
00212
00213
00214
00215
00216
00217
00218
00219 void getArrayColumnCellsV (const RefRows& rownrs, void* dataPtr);
00220
00221
00222
00223
00224
00225
00226
00227 void putArrayColumnCellsV (const RefRows& rownrs, const void* dataPtr);
00228
00229
00230
00231
00232
00233
00234
00235 void getSliceV (uInt rownr, const Slicer& slicer, void* dataPtr);
00236
00237
00238
00239
00240
00241
00242
00243 void putSliceV (uInt rownr, const Slicer& slicer, const void* dataPtr);
00244
00245
00246
00247
00248
00249
00250
00251 void getColumnSliceV (const Slicer& slicer, void* dataPtr);
00252
00253
00254
00255
00256
00257
00258
00259 void putColumnSliceV (const Slicer& slicer, const void* dataPtr);
00260
00261
00262
00263
00264
00265
00266
00267 virtual void getColumnSliceCellsV (const RefRows& rownrs,
00268 const Slicer& slicer, void* dataPtr);
00269
00270
00271
00272
00273
00274
00275
00276 virtual void putColumnSliceCellsV (const RefRows& rownrs,
00277 const Slicer& slicer,
00278 const void* dataPtr);
00279
00280
00281 private:
00282
00283 StManColumn (const StManColumn&);
00284
00285
00286 StManColumn& operator= (const StManColumn&);
00287
00288
00289
00290 void throwGetArray() const;
00291
00292
00293
00294 void throwPutArray() const;
00295
00296
00297 protected:
00298
00299
00300
00301
00302
00303 virtual void getScalarColumnBoolV (Vector<Bool>* dataPtr);
00304 virtual void getScalarColumnuCharV (Vector<uChar>* dataPtr);
00305 virtual void getScalarColumnShortV (Vector<Short>* dataPtr);
00306 virtual void getScalarColumnuShortV (Vector<uShort>* dataPtr);
00307 virtual void getScalarColumnIntV (Vector<Int>* dataPtr);
00308 virtual void getScalarColumnuIntV (Vector<uInt>* dataPtr);
00309 virtual void getScalarColumnfloatV (Vector<float>* dataPtr);
00310 virtual void getScalarColumndoubleV (Vector<double>* dataPtr);
00311 virtual void getScalarColumnComplexV (Vector<Complex>* dataPtr);
00312 virtual void getScalarColumnDComplexV (Vector<DComplex>* dataPtr);
00313 virtual void getScalarColumnStringV (Vector<String>* dataPtr);
00314
00315
00316
00317
00318
00319
00320
00321 virtual void putScalarColumnBoolV (const Vector<Bool>* dataPtr);
00322 virtual void putScalarColumnuCharV (const Vector<uChar>* dataPtr);
00323 virtual void putScalarColumnShortV (const Vector<Short>* dataPtr);
00324 virtual void putScalarColumnuShortV (const Vector<uShort>* dataPtr);
00325 virtual void putScalarColumnIntV (const Vector<Int>* dataPtr);
00326 virtual void putScalarColumnuIntV (const Vector<uInt>* dataPtr);
00327 virtual void putScalarColumnfloatV (const Vector<float>* dataPtr);
00328 virtual void putScalarColumndoubleV (const Vector<double>* dataPtr);
00329 virtual void putScalarColumnComplexV (const Vector<Complex>* dataPtr);
00330 virtual void putScalarColumnDComplexV (const Vector<DComplex>* dataPtr);
00331 virtual void putScalarColumnStringV (const Vector<String>* dataPtr);
00332
00333
00334
00335
00336
00337
00338
00339 virtual void getScalarColumnCellsBoolV (const RefRows& rownrs,
00340 Vector<Bool>* dataPtr);
00341 virtual void getScalarColumnCellsuCharV (const RefRows& rownrs,
00342 Vector<uChar>* dataPtr);
00343 virtual void getScalarColumnCellsShortV (const RefRows& rownrs,
00344 Vector<Short>* dataPtr);
00345 virtual void getScalarColumnCellsuShortV (const RefRows& rownrs,
00346 Vector<uShort>* dataPtr);
00347 virtual void getScalarColumnCellsIntV (const RefRows& rownrs,
00348 Vector<Int>* dataPtr);
00349 virtual void getScalarColumnCellsuIntV (const RefRows& rownrs,
00350 Vector<uInt>* dataPtr);
00351 virtual void getScalarColumnCellsfloatV (const RefRows& rownrs,
00352 Vector<float>* dataPtr);
00353 virtual void getScalarColumnCellsdoubleV (const RefRows& rownrs,
00354 Vector<double>* dataPtr);
00355 virtual void getScalarColumnCellsComplexV (const RefRows& rownrs,
00356 Vector<Complex>* dataPtr);
00357 virtual void getScalarColumnCellsDComplexV (const RefRows& rownrs,
00358 Vector<DComplex>* dataPtr);
00359 virtual void getScalarColumnCellsStringV (const RefRows& rownrs,
00360 Vector<String>* dataPtr);
00361
00362
00363
00364
00365
00366
00367
00368 virtual void putScalarColumnCellsBoolV (const RefRows& rownrs,
00369 const Vector<Bool>* dataPtr);
00370 virtual void putScalarColumnCellsuCharV (const RefRows& rownrs,
00371 const Vector<uChar>* dataPtr);
00372 virtual void putScalarColumnCellsShortV (const RefRows& rownrs,
00373 const Vector<Short>* dataPtr);
00374 virtual void putScalarColumnCellsuShortV (const RefRows& rownrs,
00375 const Vector<uShort>* dataPtr);
00376 virtual void putScalarColumnCellsIntV (const RefRows& rownrs,
00377 const Vector<Int>* dataPtr);
00378 virtual void putScalarColumnCellsuIntV (const RefRows& rownrs,
00379 const Vector<uInt>* dataPtr);
00380 virtual void putScalarColumnCellsfloatV (const RefRows& rownrs,
00381 const Vector<float>* dataPtr);
00382 virtual void putScalarColumnCellsdoubleV (const RefRows& rownrs,
00383 const Vector<double>* dataPtr);
00384 virtual void putScalarColumnCellsComplexV (const RefRows& rownrs,
00385 const Vector<Complex>* dataPtr);
00386 virtual void putScalarColumnCellsDComplexV (const RefRows& rownrs,
00387 const Vector<DComplex>* dataPtr);
00388 virtual void putScalarColumnCellsStringV (const RefRows& rownrs,
00389 const Vector<String>* dataPtr);
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399 virtual uInt getBlockBoolV (uInt rownr, uInt nrmax,
00400 Bool* dataPtr);
00401 virtual uInt getBlockuCharV (uInt rownr, uInt nrmax,
00402 uChar* dataPtr);
00403 virtual uInt getBlockShortV (uInt rownr, uInt nrmax,
00404 Short* dataPtr);
00405 virtual uInt getBlockuShortV (uInt rownr, uInt nrmax,
00406 uShort* dataPtr);
00407 virtual uInt getBlockIntV (uInt rownr, uInt nrmax,
00408 Int* dataPtr);
00409 virtual uInt getBlockuIntV (uInt rownr, uInt nrmax,
00410 uInt* dataPtr);
00411 virtual uInt getBlockfloatV (uInt rownr, uInt nrmax,
00412 float* dataPtr);
00413 virtual uInt getBlockdoubleV (uInt rownr, uInt nrmax,
00414 double* dataPtr);
00415 virtual uInt getBlockComplexV (uInt rownr, uInt nrmax,
00416 Complex* dataPtr);
00417 virtual uInt getBlockDComplexV (uInt rownr, uInt nrmax,
00418 DComplex* dataPtr);
00419 virtual uInt getBlockStringV (uInt rownr, uInt nrmax,
00420 String* dataPtr);
00421
00422
00423
00424
00425
00426
00427
00428
00429 virtual void putBlockBoolV (uInt rownr, uInt nrmax,
00430 const Bool* dataPtr);
00431 virtual void putBlockuCharV (uInt rownr, uInt nrmax,
00432 const uChar* dataPtr);
00433 virtual void putBlockShortV (uInt rownr, uInt nrmax,
00434 const Short* dataPtr);
00435 virtual void putBlockuShortV (uInt rownr, uInt nrmax,
00436 const uShort* dataPtr);
00437 virtual void putBlockIntV (uInt rownr, uInt nrmax,
00438 const Int* dataPtr);
00439 virtual void putBlockuIntV (uInt rownr, uInt nrmax,
00440 const uInt* dataPtr);
00441 virtual void putBlockfloatV (uInt rownr, uInt nrmax,
00442 const float* dataPtr);
00443 virtual void putBlockdoubleV (uInt rownr, uInt nrmax,
00444 const double* dataPtr);
00445 virtual void putBlockComplexV (uInt rownr, uInt nrmax,
00446 const Complex* dataPtr);
00447 virtual void putBlockDComplexV (uInt rownr, uInt nrmax,
00448 const DComplex* dataPtr);
00449 virtual void putBlockStringV (uInt rownr, uInt nrmax,
00450 const String* dataPtr);
00451
00452
00453
00454
00455
00456
00457
00458 virtual void getArrayBoolV (uInt rownr, Array<Bool>* dataPtr);
00459 virtual void getArrayuCharV (uInt rownr, Array<uChar>* dataPtr);
00460 virtual void getArrayShortV (uInt rownr, Array<Short>* dataPtr);
00461 virtual void getArrayuShortV (uInt rownr, Array<uShort>* dataPtr);
00462 virtual void getArrayIntV (uInt rownr, Array<Int>* dataPtr);
00463 virtual void getArrayuIntV (uInt rownr, Array<uInt>* dataPtr);
00464 virtual void getArrayfloatV (uInt rownr, Array<float>* dataPtr);
00465 virtual void getArraydoubleV (uInt rownr, Array<double>* dataPtr);
00466 virtual void getArrayComplexV (uInt rownr, Array<Complex>* dataPtr);
00467 virtual void getArrayDComplexV (uInt rownr, Array<DComplex>* dataPtr);
00468 virtual void getArrayStringV (uInt rownr, Array<String>* dataPtr);
00469
00470
00471
00472
00473
00474
00475
00476 virtual void putArrayBoolV (uInt rownr,
00477 const Array<Bool>* dataPtr);
00478 virtual void putArrayuCharV (uInt rownr,
00479 const Array<uChar>* dataPtr);
00480 virtual void putArrayShortV (uInt rownr,
00481 const Array<Short>* dataPtr);
00482 virtual void putArrayuShortV (uInt rownr,
00483 const Array<uShort>* dataPtr);
00484 virtual void putArrayIntV (uInt rownr,
00485 const Array<Int>* dataPtr);
00486 virtual void putArrayuIntV (uInt rownr,
00487 const Array<uInt>* dataPtr);
00488 virtual void putArrayfloatV (uInt rownr,
00489 const Array<float>* dataPtr);
00490 virtual void putArraydoubleV (uInt rownr,
00491 const Array<double>* dataPtr);
00492 virtual void putArrayComplexV (uInt rownr,
00493 const Array<Complex>* dataPtr);
00494 virtual void putArrayDComplexV (uInt rownr,
00495 const Array<DComplex>* dataPtr);
00496 virtual void putArrayStringV (uInt rownr,
00497 const Array<String>* dataPtr);
00498
00499
00500
00501
00502
00503
00504
00505 virtual void getArrayColumnBoolV (Array<Bool>* dataPtr);
00506 virtual void getArrayColumnuCharV (Array<uChar>* dataPtr);
00507 virtual void getArrayColumnShortV (Array<Short>* dataPtr);
00508 virtual void getArrayColumnuShortV (Array<uShort>* dataPtr);
00509 virtual void getArrayColumnIntV (Array<Int>* dataPtr);
00510 virtual void getArrayColumnuIntV (Array<uInt>* dataPtr);
00511 virtual void getArrayColumnfloatV (Array<float>* dataPtr);
00512 virtual void getArrayColumndoubleV (Array<double>* dataPtr);
00513 virtual void getArrayColumnComplexV (Array<Complex>* dataPtr);
00514 virtual void getArrayColumnDComplexV (Array<DComplex>* dataPtr);
00515 virtual void getArrayColumnStringV (Array<String>* dataPtr);
00516
00517
00518
00519
00520
00521
00522
00523 virtual void putArrayColumnBoolV (const Array<Bool>* dataPtr);
00524 virtual void putArrayColumnuCharV (const Array<uChar>* dataPtr);
00525 virtual void putArrayColumnShortV (const Array<Short>* dataPtr);
00526 virtual void putArrayColumnuShortV (const Array<uShort>* dataPtr);
00527 virtual void putArrayColumnIntV (const Array<Int>* dataPtr);
00528 virtual void putArrayColumnuIntV (const Array<uInt>* dataPtr);
00529 virtual void putArrayColumnfloatV (const Array<float>* dataPtr);
00530 virtual void putArrayColumndoubleV (const Array<double>* dataPtr);
00531 virtual void putArrayColumnComplexV (const Array<Complex>* dataPtr);
00532 virtual void putArrayColumnDComplexV (const Array<DComplex>* dataPtr);
00533 virtual void putArrayColumnStringV (const Array<String>* dataPtr);
00534
00535
00536
00537
00538
00539
00540
00541 virtual void getArrayColumnCellsBoolV (const RefRows& rownrs,
00542 Array<Bool>* dataPtr);
00543 virtual void getArrayColumnCellsuCharV (const RefRows& rownrs,
00544 Array<uChar>* dataPtr);
00545 virtual void getArrayColumnCellsShortV (const RefRows& rownrs,
00546 Array<Short>* dataPtr);
00547 virtual void getArrayColumnCellsuShortV (const RefRows& rownrs,
00548 Array<uShort>* dataPtr);
00549 virtual void getArrayColumnCellsIntV (const RefRows& rownrs,
00550 Array<Int>* dataPtr);
00551 virtual void getArrayColumnCellsuIntV (const RefRows& rownrs,
00552 Array<uInt>* dataPtr);
00553 virtual void getArrayColumnCellsfloatV (const RefRows& rownrs,
00554 Array<float>* dataPtr);
00555 virtual void getArrayColumnCellsdoubleV (const RefRows& rownrs,
00556 Array<double>* dataPtr);
00557 virtual void getArrayColumnCellsComplexV (const RefRows& rownrs,
00558 Array<Complex>* dataPtr);
00559 virtual void getArrayColumnCellsDComplexV (const RefRows& rownrs,
00560 Array<DComplex>* dataPtr);
00561 virtual void getArrayColumnCellsStringV (const RefRows& rownrs,
00562 Array<String>* dataPtr);
00563
00564
00565
00566
00567
00568
00569
00570 virtual void putArrayColumnCellsBoolV (const RefRows& rownrs,
00571 const Array<Bool>* dataPtr);
00572 virtual void putArrayColumnCellsuCharV (const RefRows& rownrs,
00573 const Array<uChar>* dataPtr);
00574 virtual void putArrayColumnCellsShortV (const RefRows& rownrs,
00575 const Array<Short>* dataPtr);
00576 virtual void putArrayColumnCellsuShortV (const RefRows& rownrs,
00577 const Array<uShort>* dataPtr);
00578 virtual void putArrayColumnCellsIntV (const RefRows& rownrs,
00579 const Array<Int>* dataPtr);
00580 virtual void putArrayColumnCellsuIntV (const RefRows& rownrs,
00581 const Array<uInt>* dataPtr);
00582 virtual void putArrayColumnCellsfloatV (const RefRows& rownrs,
00583 const Array<float>* dataPtr);
00584 virtual void putArrayColumnCellsdoubleV (const RefRows& rownrs,
00585 const Array<double>* dataPtr);
00586 virtual void putArrayColumnCellsComplexV (const RefRows& rownrs,
00587 const Array<Complex>* dataPtr);
00588 virtual void putArrayColumnCellsDComplexV (const RefRows& rownrs,
00589 const Array<DComplex>* dataPtr);
00590 virtual void putArrayColumnCellsStringV (const RefRows& rownrs,
00591 const Array<String>* dataPtr);
00592
00593
00594
00595
00596
00597
00598
00599 virtual void getSliceBoolV (uInt rownr, const Slicer& ns,
00600 Array<Bool>* dataPtr);
00601 virtual void getSliceuCharV (uInt rownr, const Slicer& ns,
00602 Array<uChar>* dataPtr);
00603 virtual void getSliceShortV (uInt rownr, const Slicer& ns,
00604 Array<Short>* dataPtr);
00605 virtual void getSliceuShortV (uInt rownr, const Slicer& ns,
00606 Array<uShort>* dataPtr);
00607 virtual void getSliceIntV (uInt rownr, const Slicer& ns,
00608 Array<Int>* dataPtr);
00609 virtual void getSliceuIntV (uInt rownr, const Slicer& ns,
00610 Array<uInt>* dataPtr);
00611 virtual void getSlicefloatV (uInt rownr, const Slicer& ns,
00612 Array<float>* dataPtr);
00613 virtual void getSlicedoubleV (uInt rownr, const Slicer& ns,
00614 Array<double>* dataPtr);
00615 virtual void getSliceComplexV (uInt rownr, const Slicer& ns,
00616 Array<Complex>* dataPtr);
00617 virtual void getSliceDComplexV (uInt rownr, const Slicer& ns,
00618 Array<DComplex>* dataPtr);
00619 virtual void getSliceStringV (uInt rownr, const Slicer& ns,
00620 Array<String>* dataPtr);
00621
00622
00623
00624
00625
00626
00627
00628 virtual void putSliceBoolV (uInt rownr, const Slicer& ns,
00629 const Array<Bool>* dataPtr);
00630 virtual void putSliceuCharV (uInt rownr, const Slicer& ns,
00631 const Array<uChar>* dataPtr);
00632 virtual void putSliceShortV (uInt rownr, const Slicer& ns,
00633 const Array<Short>* dataPtr);
00634 virtual void putSliceuShortV (uInt rownr, const Slicer& ns,
00635 const Array<uShort>* dataPtr);
00636 virtual void putSliceIntV (uInt rownr, const Slicer& ns,
00637 const Array<Int>* dataPtr);
00638 virtual void putSliceuIntV (uInt rownr, const Slicer& ns,
00639 const Array<uInt>* dataPtr);
00640 virtual void putSlicefloatV (uInt rownr, const Slicer& ns,
00641 const Array<float>* dataPtr);
00642 virtual void putSlicedoubleV (uInt rownr, const Slicer& ns,
00643 const Array<double>* dataPtr);
00644 virtual void putSliceComplexV (uInt rownr, const Slicer& ns,
00645 const Array<Complex>* dataPtr);
00646 virtual void putSliceDComplexV (uInt rownr, const Slicer& ns,
00647 const Array<DComplex>* dataPtr);
00648 virtual void putSliceStringV (uInt rownr, const Slicer& ns,
00649 const Array<String>* dataPtr);
00650
00651
00652
00653
00654
00655
00656
00657 virtual void getColumnSliceBoolV (const Slicer& ns,
00658 Array<Bool>* dataPtr);
00659 virtual void getColumnSliceuCharV (const Slicer& ns,
00660 Array<uChar>* dataPtr);
00661 virtual void getColumnSliceShortV (const Slicer& ns,
00662 Array<Short>* dataPtr);
00663 virtual void getColumnSliceuShortV (const Slicer& ns,
00664 Array<uShort>* dataPtr);
00665 virtual void getColumnSliceIntV (const Slicer& ns,
00666 Array<Int>* dataPtr);
00667 virtual void getColumnSliceuIntV (const Slicer& ns,
00668 Array<uInt>* dataPtr);
00669 virtual void getColumnSlicefloatV (const Slicer& ns,
00670 Array<float>* dataPtr);
00671 virtual void getColumnSlicedoubleV (const Slicer& ns,
00672 Array<double>* dataPtr);
00673 virtual void getColumnSliceComplexV (const Slicer& ns,
00674 Array<Complex>* dataPtr);
00675 virtual void getColumnSliceDComplexV (const Slicer& ns,
00676 Array<DComplex>* dataPtr);
00677 virtual void getColumnSliceStringV (const Slicer& ns,
00678 Array<String>* dataPtr);
00679
00680
00681
00682
00683
00684
00685
00686 virtual void putColumnSliceBoolV (const Slicer& ns,
00687 const Array<Bool>* dataPtr);
00688 virtual void putColumnSliceuCharV (const Slicer& ns,
00689 const Array<uChar>* dataPtr);
00690 virtual void putColumnSliceShortV (const Slicer& ns,
00691 const Array<Short>* dataPtr);
00692 virtual void putColumnSliceuShortV (const Slicer& ns,
00693 const Array<uShort>* dataPtr);
00694 virtual void putColumnSliceIntV (const Slicer& ns,
00695 const Array<Int>* dataPtr);
00696 virtual void putColumnSliceuIntV (const Slicer& ns,
00697 const Array<uInt>* dataPtr);
00698 virtual void putColumnSlicefloatV (const Slicer& ns,
00699 const Array<float>* dataPtr);
00700 virtual void putColumnSlicedoubleV (const Slicer& ns,
00701 const Array<double>* dataPtr);
00702 virtual void putColumnSliceComplexV (const Slicer& ns,
00703 const Array<Complex>* dataPtr);
00704 virtual void putColumnSliceDComplexV (const Slicer& ns,
00705 const Array<DComplex>* dataPtr);
00706 virtual void putColumnSliceStringV (const Slicer& ns,
00707 const Array<String>* dataPtr);
00708
00709
00710
00711
00712
00713
00714
00715 virtual void getColumnSliceCellsBoolV (const RefRows& rownrs,
00716 const Slicer& ns,
00717 Array<Bool>* dataPtr);
00718 virtual void getColumnSliceCellsuCharV (const RefRows& rownrs,
00719 const Slicer& ns,
00720 Array<uChar>* dataPtr);
00721 virtual void getColumnSliceCellsShortV (const RefRows& rownrs,
00722 const Slicer& ns,
00723 Array<Short>* dataPtr);
00724 virtual void getColumnSliceCellsuShortV (const RefRows& rownrs,
00725 const Slicer& ns,
00726 Array<uShort>* dataPtr);
00727 virtual void getColumnSliceCellsIntV (const RefRows& rownrs,
00728 const Slicer& ns,
00729 Array<Int>* dataPtr);
00730 virtual void getColumnSliceCellsuIntV (const RefRows& rownrs,
00731 const Slicer& ns,
00732 Array<uInt>* dataPtr);
00733 virtual void getColumnSliceCellsfloatV (const RefRows& rownrs,
00734 const Slicer& ns,
00735 Array<float>* dataPtr);
00736 virtual void getColumnSliceCellsdoubleV (const RefRows& rownrs,
00737 const Slicer& ns,
00738 Array<double>* dataPtr);
00739 virtual void getColumnSliceCellsComplexV (const RefRows& rownrs,
00740 const Slicer& ns,
00741 Array<Complex>* dataPtr);
00742 virtual void getColumnSliceCellsDComplexV (const RefRows& rownrs,
00743 const Slicer& ns,
00744 Array<DComplex>* dataPtr);
00745 virtual void getColumnSliceCellsStringV (const RefRows& rownrs,
00746 const Slicer& ns,
00747 Array<String>* dataPtr);
00748
00749
00750
00751
00752
00753
00754
00755 virtual void putColumnSliceCellsBoolV (const RefRows& rownrs,
00756 const Slicer& ns,
00757 const Array<Bool>* dataPtr);
00758 virtual void putColumnSliceCellsuCharV (const RefRows& rownrs,
00759 const Slicer& ns,
00760 const Array<uChar>* dataPtr);
00761 virtual void putColumnSliceCellsShortV (const RefRows& rownrs,
00762 const Slicer& ns,
00763 const Array<Short>* dataPtr);
00764 virtual void putColumnSliceCellsuShortV (const RefRows& rownrs,
00765 const Slicer& ns,
00766 const Array<uShort>* dataPtr);
00767 virtual void putColumnSliceCellsIntV (const RefRows& rownrs,
00768 const Slicer& ns,
00769 const Array<Int>* dataPtr);
00770 virtual void putColumnSliceCellsuIntV (const RefRows& rownrs,
00771 const Slicer& ns,
00772 const Array<uInt>* dataPtr);
00773 virtual void putColumnSliceCellsfloatV (const RefRows& rownrs,
00774 const Slicer& ns,
00775 const Array<float>* dataPtr);
00776 virtual void putColumnSliceCellsdoubleV (const RefRows& rownrs,
00777 const Slicer& ns,
00778 const Array<double>* dataPtr);
00779 virtual void putColumnSliceCellsComplexV (const RefRows& rownrs,
00780 const Slicer& ns,
00781 const Array<Complex>* dataPtr);
00782 virtual void putColumnSliceCellsDComplexV (const RefRows& rownrs,
00783 const Slicer& ns,
00784 const Array<DComplex>* dataPtr);
00785 virtual void putColumnSliceCellsStringV (const RefRows& rownrs,
00786 const Slicer& ns,
00787 const Array<String>* dataPtr);
00788
00789
00790
00791 private:
00792
00793 int dtype_p;
00794 };
00795
00796
00797
00798
00799 }
00800
00801 #endif