35#include "FreeFormCPP.h"
37#include <libdap/BaseType.h>
38#include <libdap/Error.h>
39#include <libdap/InternalErr.h>
40#include <libdap/dods-datatypes.h>
44const int Msgt_size = 255;
46void free_ff_char_vector(
char **v,
int len);
48const string ff_types(
Type dods_type);
49int ff_prec(
Type dods_type);
51const string make_output_format(
const string &name,
Type type,
54const string makeND_output_format(
const string &name,
Type type,
55 const int width,
int ndim,
56 const long *start,
const long *edge,
const
57 long * stride,
string *dname);
59const string &format_extension(
const string &new_extension =
"");
60const string &format_delimiter(
const string &new_delimiter =
"");
64const string find_ancillary_formats(
const string &dataset,
65 const string &delimiter = format_delimiter(),
66 const string &extension = format_extension());
68const string find_ancillary_rss_formats(
const string &dataset,
69 const string &delimiter = format_delimiter(),
70 const string &extension = format_extension());
72const string find_ancillary_rss_das(
const string &dataset,
73 const string &delimiter = format_delimiter(),
74 const string &extension = format_extension());
76int SetDodsDB(FF_STD_ARGS_PTR std_args, DATA_BIN_HANDLE dbin_h,
char * Msgt);
77long Records(
const string &filename);
79bool file_exist(
const char * filename);
81long read_ff(
const char *dataset,
const char *if_file,
const char *o_format,
82 char *o_buffer,
unsigned long size);
84bool is_integer_type(BaseType *btp);
85bool is_float_type(BaseType *btp);
86dods_uint32 get_integer_value(BaseType *var)
throw(InternalErr);
87dods_float64 get_float_value(BaseType *var)
throw(InternalErr);
89string get_Regex_format_file(
const string &filename);