casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Modules | Namespaces | Classes

Non-mathematical Containers. More...

Modules

 Containers_module_internal_classes
 Internal Containers_module classes and functions.
 

Namespaces

 casacore
 this file contains all the compiler specific defines
 

Classes

class  casacore::ArrayInitPolicy
 A global enum used by some Array/Block constructors. More...
 
struct  casacore::Allocator_private::AllocSpec< T >
 Allocator specifier. More...
 
class  casacore::BlockTrace
 simple 1-D array More...
 
class  casacore::Block< T >
 simple 1-D array More...
 
class  casacore::PtrBlock< T >
 A drop-in replacement for Block<T*>. More...
 
struct  casacore::BlockIO_global_functions_BlockIO
 IO functions for Block. More...
 
struct  casacore::HashMap_global_functions_hashfunc
 Hash functions for standard types. More...
 
struct  casacore::HashMap_global_functions_defaulthashvalue
 Specify the default values for HashMap keys. More...
 
class  casacore::HashClass< key >
 Hash function with state. More...
 
class  casacore::HashMap< key, val >
 Associative Array with a hash table implementation. More...
 
struct  casacore::HashMapIO_global_functions_hashmapio
 HashMap/HashMapIter IO functions. More...
 
class  casacore::HashMapIter< key, val >
 Step through a non-const HashMap. More...
 
class  casacore::IterError
 Iteration error class. More...
 
class  casacore::IterBoundaryError
 Iteration Boundary error class. More...
 
class  casacore::IterInitError
 Iteration initialization error. More...
 
class  casacore::InvalidIterError
 Invalide iteration error class. More...
 
class  casacore::Link< t >
 doubly linked list primitive More...
 
class  casacore::ListNotice< t >
 Linked list update notice. More...
 
class  casacore::List< t >
 Doubly linked list. More...
 
class  casacore::ConstListIter< t >
 Doubly linked constant list iterator. More...
 
class  casacore::ListIter< t >
 Doubly linked non-constant list iterator The List class above only provides for the list framework. More...
 
struct  casacore::ListIO_global_functions_List_IO
 Input/output operators for Lists. More...
 
class  casacore::MapRep< key, value >
 Map representation class. More...
 
class  casacore::Map< key, value >
 Abstract base class for associative arrays. More...
 
class  casacore::MapIterRep< key, value >
 Abstract base class for associative array iterators. More...
 
class  casacore::ConstMapIter< key, value >
 Const associative array iterator. More...
 
class  casacore::MapIter< key, value >
 Associative array iterator. More...
 
struct  casacore::MapIO_global_functions_Map_IO
 Input/output operators for Maps. More...
 
class  casacore::ObjectStack< T >
 A stack of re-usable objects. More...
 
class  casacore::OrderedMapNotice< t, v >
 Message used for OrderedMap notification. More...
 
class  casacore::OrderedMapRep< t, v >
 Representation class for an Ordered Map. More...
 
class  casacore::OrderedMap< t, v >
 Map with keys ordered. More...
 
class  casacore::OrderedMapIterRep< t, v >
 OrderedMap iterator "letter". More...
 
struct  OrdMapIO_global_functions_OrderedMap_IO
 Input/output operators for OrderedMaps. More...
 
struct  casacore::OrdPairIO_global_functions_inoutput
 These need to be left out SUN BUG More...
 
class  casacore::Queue< T >
 A First-In-First-Out (FIFO) data structure. More...
 
class  casacore::Record
 A hierarchical collection of named fields of various types. More...
 
class  casacore::RecordDesc
 Description of the fields in a record object. More...
 
class  casacore::RecordFieldPtr< T >
 Access to an individual field in a record. More...
 
class  casacore::RORecordFieldPtr< T >
 Read-Only access to an individual field from a Record. More...
 
class  casacore::RecordFieldId
 The identification of a record field. More...
 
class  casacore::RecordInterface
 Abstract base class for Record classes. More...
 
class  casacore::SimpleOrderedMap< K, V >
 Simple map with keys ordered. More...
 
struct  casacore::SimOrdMapIO_global_functions_inoutput
 Global IO functions. More...
 
class  casacore::Stack< elem >
 This class, Stack<t>, defines an implementation of a stack using the doubly linked list primitive, Link<t>. More...
 
class  casacore::EmptyStackError
 Error class for the Stack class. More...
 
class  casacore::ValueHolder
 A holder for a value of any basic Casacore data type. More...
 

Detailed Description

Non-mathematical Containers.

See below for an overview of the classes in this module.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25

Synopsis

This module provides non-mathematical containers. These containers are the prototypical computer science types of containers – records and simple arrays. These classes are useful for all of the various types of low level data management. In general, these classes will have familiar semantics and an unsurprising interface. Note that Casacore used to have classes such as Map and List, but they became obsolete when the Standard C++ Library was introduced. Therefore these classes have been removed.

Most of the important classes in this module also have IO shift operators, e.g. for writing out a Block (simple array). These operators typically allow the container (and the objects it contains) to be written out to both AipsIO and the standard ostream.

The class Block has the option to trace (de)allocations for Blocks with a size above a given threshold. It uses class MemoryTrace to log the trace messages. Unlike MemoryTrace, it also works on non-Linux systems. Since class Array uses Block underneath, it makes it possible to trace Array usage.