casacore
|
Classes and global functions for general use. More...
Modules | |
Utilities_module_internal_classes | |
Internal Utilities_module classes and functions. | |
Classes | |
class | casacore::AlignMemory |
Referenced counted pointer for constant data. More... | |
class | casacore::assert_< t > |
Utility class for Assert macros. More... | |
struct | casacore::BinarySearch_global_functions_binarysearch |
Binary search a sorted, linear, data structure. More... | |
class | casacore::BitVector |
Bit vectors of any size. More... | |
class | casacore::CASATask |
Task interface. More... | |
struct | casacore::Compare_global_functions_ObjCompareFunc |
signature of comparison functions More... | |
class | casacore::BaseCompare |
abstract base class for comparing two objects More... | |
class | casacore::ObjCompare< T > |
compare two objects More... | |
class | casacore::CompareIntervalInt< T > |
Integer comparison class with intervals. More... | |
class | casacore::CompareIntervalReal< T > |
Real comparison class with intervals. More... | |
class | casacore::CompareNoCase |
Case-insensitive string comparison class. More... | |
class | casacore::CompareAlwaysTrue |
Comparison class that is always true. More... | |
class | casacore::CompositeNumber |
This class generates composite numbers. More... | |
struct | casacore::Copy_global_functions_throw |
Copy objects from one C-style array to another. More... | |
struct | casacore::Copy_global_functions_test |
Test routines. More... | |
struct | casacore::Copy_global_functions_copy |
Copy methods. More... | |
struct | casacore::CountedPtr_global_functions_dereference_error |
act on dereference error More... | |
class | casacore::CountedPtr< t > |
Referenced counted pointer for constant data. More... | |
class | casacore::COWPtr< T > |
Copy-On-Write-Pointer class - allows control of copy based on constness. More... | |
struct | casacore::DataType_global_functions_DataType |
Data types (primarily) in the table system. More... | |
struct | casacore::DefaultValue_global_functions_defval |
A templated function which sets a variable to a default value. More... | |
class | casacore::DynBuffer |
Store data in dynamically allocated buffers. More... | |
struct | casacore::Fallible_global_functions_invalid_access |
throw exception on access of an invalid object This function gets called when an invalid object is accessed. It just throws an exception. Since we have inline functions, let's keep the throw out of them to keep them from moving out of line. More... | |
class | casacore::Fallible< T > |
Mark a value as valid or invalid. More... | |
struct | casacore::generic_global_functions_def |
Generic gnu macros. More... | |
struct | casacore::LinearSearch_global_functions_linearsearch |
Linear search a linear data structure. More... | |
class | casacore::MUString |
Pointed String class to aid analysis of quantity strings. More... | |
struct | casacore::MUString_global_functions_output |
Global functions. More... | |
class | casacore::Notice |
abstract base class for notices More... | |
class | casacore::NoticeSource |
base class for notice originators More... | |
class | casacore::NoticeTarget |
abstract base class for notice receptors More... | |
class | casacore::PtrHolder< T > |
Hold and delete pointers not deleted by object destructors. More... | |
class | SPtrHolder< T > |
Hold and delete pointers not deleted by object destructors. More... | |
class | casacore::RecordTransformable |
Interface class for converting to/from records. More... | |
class | casacore::Regex |
Regular expression class (based on std::regex) More... | |
class | casacore::Sequence< t > |
virtual templated base class for sequences More... | |
class | casacore::uIntSequence |
uInt sequence for general use More... | |
class | casacore::Sort |
Sort on one or more keys, ascending and/or descending. More... | |
class | casacore::SortError |
Generic Sort exception. More... | |
class | casacore::SortInvDT |
Invalid data type used for this sort key. More... | |
class | casacore::SortInvIncr |
Invalid increment used for this sort key. More... | |
class | casacore::SortNoData |
No data array given to Sort constructor. More... | |
class | casacore::SortInvOpt |
Invalid sort option given to routine dosort. More... | |
class | casacore::StringDistance |
Class to deal with Levensthein distance of strings. More... | |
class | casacore::ValType |
Data types and their undefined values. More... | |
struct | casacore::ValTypeId_global_functions_typeid |
The id-string of a value type. More... | |
Functions | |
uInt | casacore::precisionForValueErrorPairs (const Vector< Double > &pair1, const Vector< Double > &pair2) |
Various precision-related functions. More... | |
template<class T > | |
uInt | casacore::genSort (T *data, uInt nr, Sort::Order order=Sort::Ascending, int options=0) |
Global in-place sort functions The following global functions are easier to use than the static GenSort member functions. More... | |
template<class T > | |
uInt | casacore::genSort (Array< T > &data, Sort::Order order=Sort::Ascending, int options=0) |
template<class T > | |
uInt | casacore::genSort (Block< T > &data, Sort::Order order=Sort::Ascending, int options=0) |
template<class T > | |
uInt | casacore::genSort (Block< T > &data, uInt nr, Sort::Order order=Sort::Ascending, int options=0) |
template<class T , class INX = uInt> | |
uInt | casacore::genSort (Vector< INX > &indexVector, const T *data, INX nr, Sort::Order order=Sort::Ascending, int options=0) |
Global indirect sort functions The following global functions easier to use than the static GenSortIndirect member functions. More... | |
template<class T , class INX = uInt> | |
uInt | casacore::genSort (Vector< INX > &indexVector, const Array< T > &data, Sort::Order order=Sort::Ascending, int options=0) |
template<class T , class INX = uInt> | |
uInt | casacore::genSort (Vector< INX > &indexVector, const Block< T > &data, Sort::Order order=Sort::Ascending, int options=0) |
template<class T , class INX = uInt> | |
uInt | casacore::genSort (Vector< INX > &indexVector, const Block< T > &data, INX nr, Sort::Order order=Sort::Ascending, int options=0) |
Classes and global functions for general use.
See below for an overview of the classes in this module.
This module is a bag of unrelated mini-modules, classes and global functions. The following functional groups can be recognized:
Tip: You may want to look at the individual header files to see whether you might not prefer to include only the header files you really need; it may be more efficient to do so;
|
inline |
Global in-place sort functions The following global functions are easier to use than the static GenSort member functions.
They do an in-place sort of data, thus the data themselves are moved ending up in the requested order.
The default sorting method is QuickSort, which is the fastest. However, there are pathological cases where it can be slow. HeapSort is about twice a slow, but its speed is guaranteed. InsSort (insertion sort) can be very, very slow, but it is the only stable sort method (i.e. equal values are kept in their original order). However, (see (name=genSortIndirect)) indirect sorting methods are available to make QuickSort and HeapSort stable.
All sort methods have an option to skip duplicate values. This is the only case where the returned number of values can be less than the original number of values.
Definition at line 311 of file GenSort.h.
References casacore::GenSort< T >::sort().
|
inline |
Definition at line 317 of file GenSort.h.
References casacore::GenSort< T >::sort().
|
inline |
Definition at line 323 of file GenSort.h.
References casacore::Block< T >::nelements(), and casacore::GenSort< T >::sort().
|
inline |
Definition at line 329 of file GenSort.h.
References casacore::GenSort< T >::sort().
|
inline |
Global indirect sort functions The following global functions easier to use than the static GenSortIndirect member functions.
They do an indirect sort of data, thus the data themselves are not moved. Rather an index vector is returned giving the sorted data indices.
The sorting method used is merge sort, which is always stable. It is the fastest, especially if it can use multiple threads.
Unlike the (see (name=genSortInPlace)) in-place sorting methods, all indirect sorting methods are stable (i.e. equal values are left in their original order).
All sort methods have an option to skip duplicate values. This is the only case where the returned number of values can be less than the original number of values.
Definition at line 357 of file GenSort.h.
References casacore::GenSortIndirect< T, INX >::sort().
|
inline |
Definition at line 363 of file GenSort.h.
References casacore::GenSortIndirect< T, INX >::sort().
|
inline |
Definition at line 369 of file GenSort.h.
References casacore::Block< T >::nelements(), and casacore::GenSortIndirect< T, INX >::sort().
|
inline |
Definition at line 376 of file GenSort.h.
References casacore::GenSortIndirect< T, INX >::sort().
uInt casacore::precisionForValueErrorPairs | ( | const Vector< Double > & | pair1, |
const Vector< Double > & | pair2 | ||
) |