casa
$Rev:20696$
|
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) |
A templated function which sets a variable to a default value.
Public interface
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/tDefaultValue.cc.
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(); };
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.
Definition at line 99 of file DefaultValue.h.
void casa::DefaultValue_global_functions_defval::defaultValue | ( | T & | theValue | ) | [inline] |
Definition at line 100 of file DefaultValue.h.