const char * cdds_out(alias, value, history);
A default dictionary name may be specified by value. The default is used if the "par:" dictionary does not define alias, or a null alias is specified. If there is no appropriate default, then a null value should be specified. A temporary dictionary is created, if an explicit name is not available.
The value default is ignored in special cases. These exceptions make it convenient to use DDS programs with standard formats and non-DDS applications. cdds_out ignores the default, if value is "stdout:", and "par:" defines "alias_data".
The history argument should name a dictionary that contains the processing history. The history is copied when a new dictionary is created. If there is no previous history, then create a basic one using "cdds_in("","",title);
".
const char *out_dict; /* derive output dictionary from input */ out_dict = cdds_out("out", "stdout:", in_dict);Some applications create output, but do not require input. The processing history can be initialized by calling cdds_in with null arguments. Once initialized, it can be passed to cdds_out like a normal input history. For example:
const char *in_dict, *out_dict; /* begin a new processing history */ in_dict = cdds_in("", "", "Program: processing from scratch"); out_dict = cdds_out("out", "stdout:", in_dict);Some applications require intermediate dictionaries. They may be used to describe internal buffer formats or temporary data files. Intermediate dictionaries can be initialized by calling cdds_out. All processing should be reflected in the accumulated history. For example:
const char *in_dict, *buf_dict, *out_dict, *vel_dict; /* open input dictionary */ in_dict = cdds_in("in", "stdin:", title); ... /* create intermediate "buf" dictionary */ buf_dict = cdds_out("", "", in_dict); ... /* open output dictionary */ out_dict = cdds_out("out", "stdout:", buf_dict); ...Some applications produce auxiliary data, in addition to the primary output. cdds_out is used to initialize these dictionaries. The "out" alias and "stdout:"" default value should be reserved for the primary output data. Typical alias names for auxiliary output are "vel", "geom", "zmap", etc. Auxiliary output may not have a reasonable default value. For example:
const char *in_dict, *model_dict; /* auxiliary output velocity model dictionary */ model_dict = cdds_out("vel", "", in_dict);
cdds_dict Select DDS dictionary and mode