Containers.h

Go to the documentation of this file.
00001 //# <Containers.h>:  a module for non-mathematical containers
00002 //# Copyright (C) 1995,1999,2001
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT
00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00012 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00013 //# License for more details.
00014 //#
00015 //# You should have received a copy of the GNU Library General Public License
00016 //# along with this library; if not, write to the Free Software Foundation,
00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00018 //#
00019 //# Correspondence concerning AIPS++ should be addressed as follows:
00020 //#        Internet email: aips2-request@nrao.edu.
00021 //#        Postal address: AIPS++ Project Office
00022 //#                        National Radio Astronomy Observatory
00023 //#                        520 Edgemont Road
00024 //#                        Charlottesville, VA 22903-2475 USA
00025 //#
00026 //# $Id$
00027 
00028 #ifndef CASA_CONTAINERS_H
00029 #define CASA_CONTAINERS_H
00030 
00031 #include <casacore/casa/aips.h>
00032 
00033 #include <casacore/casa/Containers/Block.h>
00034 #include <casacore/casa/Containers/Link.h>
00035 #include <casacore/casa/Containers/List.h>
00036 #include <casacore/casa/Containers/ListMap.h>
00037 #include <casacore/casa/Containers/Map.h>
00038 #include <casacore/casa/Containers/OrderedPair.h>
00039 #include <casacore/casa/Containers/Record.h>
00040 #include <casacore/casa/Containers/RecordField.h>
00041 #include <casacore/casa/Containers/SimOrdMap.h>
00042 #include <casacore/casa/Containers/OrderedMap.h>
00043 #include <casacore/casa/Containers/Queue.h>
00044 #include <casacore/casa/Containers/Stack.h>
00045 
00046 #include <casacore/casa/Containers/BlockIO.h>
00047 #include <casacore/casa/Containers/ListIO.h>
00048 #include <casacore/casa/Containers/ListMapIO.h>
00049 #include <casacore/casa/Containers/OrdPairIO.h>
00050 #include <casacore/casa/Containers/OrdMapIO.h>
00051 #include <casacore/casa/Containers/SimOrdMapIO.h>
00052 #include <casacore/casa/Containers/MapIO.h>
00053 
00054 #include <casacore/casa/Containers/StackError.h>
00055 #include <casacore/casa/Containers/IterError.h>
00056 
00057 namespace casacore { //# NAMESPACE CASACORE - BEGIN
00058 
00059 // <module>
00060 //
00061 // <summary>
00062 //     Non-mathematical Containers
00063 // </summary>
00064 //
00065 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" demos="">
00066 // </reviewed>
00067 //
00068 // <synopsis>
00069 //    This module provides non-mathematical containers. These containers are the
00070 //    prototypical computer science types of containers -- <linkto
00071 //    class=Queue>queues</linkto>, <linkto class=Stack>stacks</linkto>, <linkto
00072 //    class=List>lists</linkto>, <linkto class=Map>associative arrays</linkto>,
00073 //    <linkto class="Record">records</linkto> and <linkto class=Block>simple
00074 //    arrays</linkto>. These classes are useful for all of the various types of low
00075 //    level data management. In general, these classes will have familiar semantics
00076 //    and an unsurprising interface.
00077 //
00078 //    Most of the important classes in this module also have IO shift operators,
00079 //    e.g. for <linkto file=BlockIO.h#BlockIO>writing out a Block</linkto> (simple
00080 //    array). These operators typically allow the container (and the objects it
00081 //    contains) to be written out to both <linkto class=AipsIO>AipsIO</linkto> and
00082 //    the standard <em>ostream</em>.
00083 //
00084 //    The class Block has the option to trace (de)allocations for Blocks with
00085 //    a size above a given threshold. It uses class MemoryTrace to log the
00086 //    trace messages. Unlike MemoryTrace, it also works on non-Linux systems.
00087 //    Since class Array uses Block underneath, it makes it possible to trace
00088 //    Array usage.
00089 // </synopsis>
00090 //
00091 // </module>
00092 
00093 
00094 } //# NAMESPACE CASACORE - END
00095 
00096 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1