casa::DefaultValue_global_functions_defval Struct Reference
[Utilities]

#include <DefaultValue.h>

List of all members.


Detailed Description

A templated function which sets a variable to a default value.

Intended use:

Part of API

Review Status

Reviewed By:
syang@nrao.edu<dt>Date Reviewed:1996/03/14
Test programs:
tDefaultValue

Prerequisite

Etymology

The DefaultValue function name is derived from its use to fill a data type with a default value, usually zero.

Synopsis

The DefaultValue function is passed an instance of a data type and the variable is filled with a default value. The majority of classes may use the templated version here. Special classes may use their own non-templated specializations as demonstrated in .\./Utilities/test/tDefaultValue.cc.

Example

    Int foo = 35;
    defaultValue(foo);
    AlwaysAssert(foo == 0, AipsError);
    Array<Float> bar;
    defaultValue(bar);
    AlwaysAssert(allEQ(bar, 0.0f), AipsError);
A special class may need its own implementation:
    void defaultValue(MySpecialClass &val){
     // make a default value be all zeros
     val.operator()(IPosition(2,3,4)) = Table.keywords().defaultval();
    };

Motivation

We needed a common way of setting all objects to zero or some null/default value. Specializing a templated function seemed the only way to reach everyone.

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Definition at line 100 of file DefaultValue.h.

Public Member Functions

template<class T>
void defaultValue (T &theValue)


Member Function Documentation

template<class T>
void casa::DefaultValue_global_functions_defval::defaultValue ( T &  theValue  )  [inline]

Definition at line 101 of file DefaultValue.h.


The documentation for this struct was generated from the following file:
Generated on Mon Sep 1 22:44:26 2008 for NRAOCASA by  doxygen 1.5.1