casacore
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
casa
Utilities.h
Go to the documentation of this file.
1
//# Utilities.h: Bag of unrelated classes and groups for general use.
2
//# Copyright (C) 1995,1996,1997,2000,2001
3
//# Associated Universities, Inc. Washington DC, USA.
4
//#
5
//# This library is free software; you can redistribute it and/or modify it
6
//# under the terms of the GNU Library General Public License as published by
7
//# the Free Software Foundation; either version 2 of the License, or (at your
8
//# option) any later version.
9
//#
10
//# This library is distributed in the hope that it will be useful, but WITHOUT
11
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13
//# License for more details.
14
//#
15
//# You should have received a copy of the GNU Library General Public License
16
//# along with this library; if not, write to the Free Software Foundation,
17
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18
//#
19
//# Correspondence concerning AIPS++ should be addressed as follows:
20
//# Internet email: aips2-request@nrao.edu.
21
//# Postal address: AIPS++ Project Office
22
//# National Radio Astronomy Observatory
23
//# 520 Edgemont Road
24
//# Charlottesville, VA 22903-2475 USA
25
//#
26
//# $Id$
27
28
29
#ifndef CASA_UTILITIES_H
30
#define CASA_UTILITIES_H
31
32
#include <
casacore/casa/aips.h
>
33
34
#include <
casacore/casa/Utilities/Assert.h
>
35
#include <
casacore/casa/Utilities/BinarySearch.h
>
36
#include <
casacore/casa/Utilities/BitVector.h
>
37
#include <
casacore/casa/Utilities/Compare.h
>
38
#include <
casacore/casa/Utilities/Copy.h
>
39
#include <
casacore/casa/Utilities/CountedPtr.h
>
40
#include <
casacore/casa/Utilities/DataType.h
>
41
#include <
casacore/casa/Utilities/DynBuffer.h
>
42
#include <
casacore/casa/Utilities/Fallible.h
>
43
#include <
casacore/casa/Utilities/GenSort.h
>
44
#include <
casacore/casa/Utilities/Notice.h
>
45
#include <
casacore/casa/Utilities/PtrHolder.h
>
46
#include <
casacore/casa/Utilities/Regex.h
>
47
#include <
casacore/casa/Utilities/Sequence.h
>
48
#include <
casacore/casa/Utilities/Sort.h
>
49
#include <
casacore/casa/Utilities/SortError.h
>
50
#include <
casacore/casa/BasicSL/String.h
>
51
#include <
casacore/casa/Utilities/ValType.h
>
52
53
namespace
casacore {
//# NAMESPACE CASACORE - BEGIN
54
55
// <module>
56
//
57
// <summary> Classes and global functions for general use </summary>
58
59
// <reviewed reviewer="Friso Olnon" date="1995/03/20" demos="">
60
// </reviewed>
61
62
// <synopsis>
63
//
64
// This module is a bag of unrelated mini-modules, classes and
65
// global functions. The following functional groups can be recognized:
66
// <ul>
67
// <li> Object utilities:
68
// <ul>
69
// <li> <linkto class=ObjCompare>ObjCompare</linkto>
70
// objects with each other. A signature for comparison functions
71
// is defined (required for comparison functions used in the
72
// <linkto class=Sort>Sort</linkto>
73
// class), and one such function is provided.
74
// <li> <linkto group="Copy.h#copy">objcopy/objmove/objset</linkto>
75
// copies objects from one place to another.
76
// <li> <linkto class=Fallible>Mark</linkto>
77
// objects as valid or invalid.
78
// <li> <linkto class=Notice>Notices</linkto>
79
// provide basic support for shared access of data by various objects.
80
// <li> <linkto class=Sort>Sort</linkto>
81
// objects on one or more keys, in ascending or descending order.
82
// <linkto class=GenSort>Fast sorting</linkto>
83
// is provided for certain types of objects.
84
// <li> <linkto group="BinarySearch.h#binarysearch">Binary Search</linkto>
85
// templated functions for sorted containers (ascending or descending
86
// order) are available.
87
// <li> <linkto group="LinearSearch.h#linearsearch">Linear Search</linkto>
88
// templated functions for unsorted containers are available.
89
// </ul>
90
// <li> Logical utilities:
91
// <ul>
92
// <li> <linkto class=assert_>Assertion</linkto>
93
// lets you throw an error when a condition in not fullfilled.
94
// <li> <linkto class=BitVector>Bit vectors</linkto>
95
// are an efficient method to keep True/False information on a set of
96
// items or conditions.
97
// </ul>
98
// <li> Pointer utilities
99
// <ul>
100
// <li> <linkto class=CountedPtr>Counted pointers</linkto>
101
// provide support for reference counting.
102
// <li> <linkto class=PtrHolder>Pointer holders</linkto>
103
// can be used to hold allocated pointers which should be deleted
104
// when an exception is thrown.
105
// </ul>
106
// <li> Datatype utilities
107
// <ul>
108
// <li> <linkto group="DataType.h#DataType">DataType</linkto>
109
// enumerates the possible data types in the table system.
110
// <li> <linkto class=ValType>ValType</linkto>
111
// describes the data types and their undefined values.
112
// </ul>
113
// <li> Other utilities
114
// <ul>
115
// <li> <linkto class=DynBuffer>Dynamic buffers</linkto>
116
// are used to store data in dynamically allocated buffers.
117
// <li> <linkto class=Regex>Regular expressions</linkto>
118
// are supported by the class <linkto class=Regex>Regex</linkto>
119
// built on top of std::regex.
120
// <li> <linkto class=Sequence>Sequences</linkto>
121
// of any datatype can be derived from the base class
122
// <linkto class=Sequence>Sequence</linkto>.
123
// One example is <linkto class=uIntSequence>uIntSequence</linkto>,
124
// provided for general use.
125
// <li> <linkto class=String>Strings</linkto>.
126
// for the C++ preprocessor
127
// </ul>
128
// </ul>
129
//
130
// <note role=tip> You may want to look at the individual header files
131
// to see whether you might not prefer to include only the header
132
// files you really need; it may be more efficient to do so.
133
// </note>
134
//
135
// </synopsis>
136
137
//# <todo asof="1995/03/20">
138
//# <li>
139
//# </todo>
140
141
// </module>
142
143
144
}
//# NAMESPACE CASACORE - END
145
146
#endif
147
DataType.h
Sequence.h
CountedPtr.h
aips.h
SortError.h
BinarySearch.h
BitVector.h
GenSort.h
Sort.h
Notice.h
Regex.h
Compare.h
Assert.h
DynBuffer.h
ValType.h
Copy.h
PtrHolder.h
String.h
Fallible.h
Generated by
1.8.5