casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
casacore::DefaultValue_global_functions_defval Struct Reference

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

#include <DefaultValue.h>

Public Member Functions

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

Detailed Description

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

Intended use:

Public interface

Review Status

Reviewed By:
Date Reviewed:
Test programs:


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


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/


Int foo = 35;
AlwaysAssert(foo == 0, AipsError);
Array<Float> 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();


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 99 of file DefaultValue.h.

Member Function Documentation

template<class T >
void casacore::DefaultValue_global_functions_defval::defaultValue ( T &  theValue)

Definition at line 100 of file DefaultValue.h.

The documentation for this struct was generated from the following file: