AFF --- A container for numbers (array) by Friederich and Forbriger.
array.h File Reference

full template array class headers (prototypes) More...

Include dependency graph for array.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aff::Array< T >
 Full multi-dimensional array functionality.This is the full array class template. It adds no additional functionality to its base class aff::ConstArray. But it provied acess to all member functions of the base, also to functions that allow data modification. More...
 
class  aff::ConstArray< T >
 Array base classThis is a multidimensional (array) container that uses a strided memory layout (Fortran shape) and counted references to data in global memory. For examples see the various test programs. More...
 
class  aff::Array< T >
 Full multi-dimensional array functionality.This is the full array class template. It adds no additional functionality to its base class aff::ConstArray. But it provied acess to all member functions of the base, also to functions that allow data modification. More...
 

Namespaces

 aff
 Root namespace of library.
 

Macros

#define AFF_ARRAY_H_VERSION   "AFF_ARRAY_H V1.2"
 

Detailed Description

full template array class headers (prototypes)


Author
Thomas Forbriger
Since
08/12/2002

full template array class headers (prototypes)


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Include this file to have access to the basic modules in libaff.a.

See also
aff
aff::Array
HOWTO use this library
Modules of the library

Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)


REVISIONS and CHANGES from former array_dec.h

  • 08/12/2002 V1.0 copied from libcontxx
  • 16/12/2002 V1.1 (thof)
    • introduced new concept of const-correctness; this should work for passing arrays as intrinsic references for const element type
  • 17/12/2002 V1.2 (thof)
    • introduced access declarations
  • 19/12/2002 V1.3 (thof)
    • provide read access to base classes and read/write access to representation of non-const array
    • replaced four size-argument constructors by one constructor with default arguments
    • distinguish between mutable and non-mutable representation
  • 20/12/2002 V1.4 (thof)
    • Access declarations are nor useable with functions that return a reference to *this. They must be reimplemented.
  • 23/12/2002 V1.5 (thof)
    • copyin() and copyout() work
  • 28/12/2002 V1.6 (thof)
    • changed base class from specialization to independent class template
  • 29/12/2002 V1.7 (thof)
    • ConstArray now inherits from ConstSharedHeap (see "\ref sec_design_replicated")
    • use "using" syntax for access declarations
    • arrays do no longer derive from shared heap classes
    • reworked shared heap access concept fundamentally; code looks much simpler now
    • member template must be defined here
    • factored out copyin code
  • 31/12/2002 V1.8 (thof)
    • Removed non-initializing constructors in ConstArray (except default constructor, which is needed, when object is a container element) as suggested by Wolfgang.
  • 02/01/2003 V1.9 (thof)
    • type TIndexVec was not declared
  • 03/01/2003 V1.10 (thof)
  • 04/07/2005 V1.11 (thof)
    • provide data modification through const Array
  • 05/07/2005 V1.12 (thof)
    • expose const representation too if declared const
  • 19/06/2006 V1.13 (thof)
    • offer Tvalue and friends as non-const types

REVISIONS and CHANGES from former array_def.h

  • 08/12/2002 V1.0 copied from libcontxx
  • 16/12/2002 V1.1 (thof)
    • definitions are now for base class (i.e. spcialization for const T)
    • added standard constructors
  • 18/12/2002 V1.2 (thof)
    • added stepper code to scalar assignment operator
  • 19/12/2002 V1.3 (thof)
    • size constructors did not work
    • replaced four size-argument constructors by one constructor with default arguments
    • distinguish between mutable and non-mutable representation
  • 23/12/2002 V1.4 (thof)
    • copyin() and copyout() work
  • 28/12/2002 V1.5 (thof)
    • changed base class from specialization to independent class template
  • 29/12/2002 V1.6 (thof)
    • due to clearer concept of representation access constructors became more simple and are defined in declaration - only copy operations remain here
    • member template cannot be explicitely instantiated
  • 03/01/2003 V1.7 (thof)

REVISIONS and CHANGES

  • 08/12/2002 V1.0 copied from libcontxx
  • 10/11/2010 V1.1 merged array_def.h and array_dec.h into this file
  • 21/06/2011 V1.2 allow shape manipulation by explicite access

Definition in file array.h.