template <class T, size_t N> class Tuple

Ordered Tuples for Types T

Inheritance:

Tuple


public members:

Tuple ()
Tuple (const Tuple& rhs)
T& operator[] (int i)
const T& operator[] (int i) const
operator const T* () const

Documentation

This class represents ordered tuples of some user-specified concrete type T for N > 0. The type T must have a default constructor. If the non-default constructor, copy constructor, or copy assignment operator are used, T must also have a copy constructor.
Tuple ()
The default constructor. For user-defined types T, the default constructor for T will be run on each of the N objects in the Tuple. For builtin (intrinsic) types, the values in the Tuple will be garbage.

Tuple (const Tuple& rhs)
Constructs a Tuple, initializing the elements in the Tuple with the corresponding elements in the vector v. This assumes that v contains at least N elements of type T -- an assumption that is NOT checked. For user-defined types, T must have a well-defined and accessible copy constructor.

T& operator[] (int i)
Returns a modifiable lvalue reference to the i'th element in the Tuple, counting from zero. Performs range checking when the library is compiled in debug mode.

const T& operator[] (int i) const
Returns a constant reference to the i'th element in the Tuple, counting from zero. Performs range checking when the library is compiled in debug mode.

operator const T* () const
Returns the address of the underlying vector of T representation. This should ONLY be used when interfacing to Fortran as it breaks the encapsulation of the class.


this class has no child classes.

alphabetic index hierarchy of classes


Chombo

Copyright Notice

This software is copyright (C) by the Lawrence Berkeley National Laboratory. Permission is granted to reproduce this software for non-commercial purposes provided that this notice is left intact.

It is acknowledged that the U.S. Government has rights to this software under Contract DE-AC03-765F00098 between the U.S. Department of Energy and the University of California.

This software is provided as a professional and academic contribution for joint exchange. Thus it is experimental, is provided ``as is'', with no warranties of any kind whatsoever, no support, no promise of updates, or printed documentation. By using this software, you acknowledge that the Lawrence Berkeley National Laboratory and Regents of the University of California shall have no liability with respect to the infringement of other copyrights by any part of this software.