25#include <libdap/ServerFunction.h>
26#include <libdap/dods-datatypes.h>
37void mask_array_helper(libdap::Array* array,
double no_data_value,
const std::vector<libdap::dods_byte>& mask);
39void function_mask_dap2_array(
int argc, libdap::BaseType *argv[], libdap::DDS &dds, libdap::BaseType **btpp);
40libdap::BaseType *function_mask_dap4_array(libdap::D4RValueList *args, libdap::DMR &dmr);
47class MaskArrayFunction:
public libdap::ServerFunction
52 setName(
"mask_array");
53 setDescriptionString(
"The mask_array() function applies a mask to an array.");
54 setUsageString(
"mask_array(array, mask)");
55 setRole(
"http://services.opendap.org/dap4/server-side-function/mask_array");
56 setDocUrl(
"https://docs.opendap.org/index.php/Server_Side_Processing_Functions#mask_array");
57 setFunction(function_mask_dap2_array);
58 setFunction(function_mask_dap4_array);
61 virtual ~MaskArrayFunction()