"Fossies" - the Fresh Open Source Software Archive

Member "dx-4.4.4/html/pages/progu271.htm" (1 Mar 2002, 5825 Bytes) of package /linux/misc/old/dx-4.4.4.tar.gz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the dx-4.4.4.tar.gz project site itself.

IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]



Applies a function to every constituent Field (part) of a specified Object.


#include <dx/dx.h>

Object DXProcessParts(Object object, Field (*process)(Field, Pointer, int),
Pointer args, int size, int copy, int preserve)

Functional Details

If the input Object is a Field, this routine returns the result of the process function on that Field.

If the input Object is a Group and copy is 1, this routine recursively makes a copy of the Group and all subgroups. In this case, the order of the Fields in the Groups is preserved if preserve is 1. If this is not required, set preserve to 0 and a more efficient traversal algorithm will be used.

If the input Object is a Group and copy is 0, it operates directly on the Groups of the input object.

In either case, for every Field f that is a member of a Group, it makes a call of the form process(f, args, size) and places the result of that call in the output in place of f. The process function is intended to return a Field which is the processed version of input Field f.

Regardless of the value of the copy parameter, the Field passed to the process function is the Field from the original Object and not a copy.

The size parameter specifies the size of the block pointed to by args. If size is nonzero, it makes a copy of the argument block and places it in global memory before passing it to process. The argument must be in global memory because DXProcessParts may run in parallel; however, if the pointer passed is, for example, just a pointer to an Object that is already in global memory, then size can be given as 0. args should not contain pointers to local memory.

If the process function returns NULL, and preserve is 1 or the Field was part of a Series Group or was the entire input Object, the NULL return value is replaced with an empty Field.

Return Value

Returns the Object, a copy of the Object, or a processed version of it, depending on the parameters; otherwise, it returns NULL and sets an error code.

See Also

DXGetPart, DXGetPartClass, DXSetPart


[ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
[Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

[Data Explorer Home Page]

[IBM Home Page | Order | Search | Contact IBM | Legal ]