25#include <libdap/ServerFunction.h>
26#include <libdap/dods-datatypes.h>
44int find_value_index(
double value,
const std::vector<double> &
map);
45std::vector<int> find_value_indices(
const std::vector<double> &values,
46 const std::vector< std::vector<double> > &maps);
47bool all_indices_valid(std::vector<int> indices);
49void make_mask_helper(
const std::vector<libdap::Array*> dims, libdap::Array *tuples, std::vector<libdap::dods_byte> &mask);
51void function_dap2_make_mask(
int argc, libdap::BaseType *argv[], libdap::DDS &dds, libdap::BaseType **btpp);
58class MakeMaskFunction:
public libdap::ServerFunction
64 setDescriptionString(
"The make_mask() function reads a number of dim_names, followed by a set of dim value tuples and builds a DAP Array object.");
66 setRole(
"http://services.opendap.org/dap4/server-side-function/make_mask");
67 setDocUrl(
"https://docs.opendap.org/index.php/Server_Side_Processing_Functions#make_mask");
68 setFunction(function_dap2_make_mask);
72 virtual ~MakeMaskFunction()