casacore
Modules | Classes

More...

Modules

 Containers_module_internal_classes
 Internal Containers_module classes and functions.
 

Classes

class  casacore::ArrayInitPolicy
  More...
 
struct  casacore::Allocator_private::AllocSpec< T >
 Allocator specifier. More...
 
struct  casacore::AllocSpec< T >
 Allocator specifier. More...
 
class  casacore::BlockTrace
  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
  More...
 
struct  casacore::HashMap_global_functions_hashfunc
  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
  More...
 
class  casacore::HashMapIter< key, val >
 Step through a non-const HashMap. More...
 
class  casacore::IterError
  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 >
  More...
 
class  casacore::ListNotice< t >
  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
  More...
 
class  casacore::MapRep< key, value >
  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
  More...
 
class  casacore::ObjectStack< T >
  More...
 
class  casacore::OrderedMapNotice< t, v >
  More...
 
class  casacore::OrderedMapRep< key, value >
 Representation class for an Ordered Map. More...
 
class  casacore::OrderedMap< key, value >
 Map with keys ordered. More...
 
class  casacore::OrderedMapIterRep< key, value >
 OrderedMap iterator "letter". More...
 
struct  OrdMapIO_global_functions_OrderedMap_IO
  More...
 
struct  casacore::OrdPairIO_global_functions_inoutput
 These need to be left out SUN BUG More...
 
class  casacore::Queue< T >
  More...
 
class  casacore::Record
  More...
 
class  casacore::RecordDesc
  More...
 
class  casacore::RecordFieldPtr< T >
  More...
 
class  casacore::RORecordFieldPtr< T >
 Read-Only access to an individual field from a Record. More...
 
class  casacore::RecordFieldId
  More...
 
class  casacore::RecordInterface
  More...
 
class  casacore::SimpleOrderedMap< K, V >
  More...
 
struct  casacore::SimOrdMapIO_global_functions_inoutput
  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
  More...
 
class  casacore::ValueHolder
  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.