#include <msvis/MSVis/VisibilityIterator2.h>
#include <casacore/casa/Arrays/Cube.h>
#include <casacore/casa/Arrays/Matrix.h>
#include <casacore/casa/Arrays/Slicer.h>
#include <casacore/casa/BasicSL/String.h>
#include <casacore/casa/Quanta/MVDoppler.h>
#include <casacore/casa/aips.h>
#include <casacore/casa/System/AipsrcValue.h>
#include <casacore/measures/Measures/MCDoppler.h>
#include <casacore/measures/Measures/MDoppler.h>
#include <casacore/measures/Measures/MeasConvert.h>
#include <casacore/measures/Measures/Stokes.h>
#include <casacore/ms/MSOper/MSDerivedValues.h>
#include <casacore/ms/MeasurementSets/MSIter.h>
#include <casacore/ms/MeasurementSets/MeasurementSet.h>
#include <casacore/scimath/Mathematics/RigidVector.h>
#include <casacore/scimath/Mathematics/SquareMatrix.h>
#include <stdcasa/UtilJ.h>
#include <msvis/MSVis/AveragingTvi2.h>
#include <msvis/MSVis/ViFrequencySelection.h>
#include <msvis/MSVis/StokesVector.h>
#include <msvis/MSVis/VisBuffer2.h>
#include <msvis/MSVis/VisBufferComponents2.h>
#include <msvis/MSVis/VisImagingWeight.h>
#include <msvis/MSVis/VisibilityIteratorImpl2.h>
#include <msvis/MSVis/VisibilityIteratorImplAsync2.h>
#include <casacore/tables/Tables/ArrayColumn.h>
#include <casacore/tables/Tables/ScalarColumn.h>
#define CheckImplementationPointer() Assert (impl_p != NULL);
using namespace casacore;
SortColumns::SortColumns (const Block<Int> & columnIds, Bool addDefaultColumns)
: addDefaultColumns_p (addDefaultColumns),
usingDefaultSortingFunctions_p (true)
for (auto colId : columnIds)
sortingDefinition_p.push_back(
std::make_pair(MS::columnName(casacore::MS::PredefinedColumns(colId)), nullptr));
SortColumns::SortColumns (Bool usingDefaultSortingFunctions)