#include <DefaultValue.h>
Part of API
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);
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 100 of file DefaultValue.h.
Public Member Functions | |
| template<class T> | |
| void | defaultValue (T &theValue) |
| void casa::DefaultValue_global_functions_defval::defaultValue | ( | T & | theValue | ) | [inline] |
Definition at line 101 of file DefaultValue.h.
1.5.1