#!F-adobe-helvetica-medium-r-normal--18*
#!N 
#!N  #!Rdxpp DXProcessParts #!N #!N Function #!N #!N Applies a 
function to every constituent Field (part) of a specified Object. #!N 
#!N Syntax #!N  #!F-adobe-times-bold-r-normal--18*   #include <dx/dx.h> Object DXProcessParts(Object object, Field (*process)(Field, 
Pointer, int), Pointer args, int size, int copy, int preserve) #!EF 
#!N #!N Functional Details #!N #!N #!N If the input  #!F-adobe-times-bold-r-normal--18*   
Object #!EF is a Field, this routine returns the result of 
the  #!F-adobe-times-bold-r-normal--18*   process #!EF function on that Field. #!N #!N If 
the input  #!F-adobe-times-bold-r-normal--18*   Object #!EF is a Group and  #!F-adobe-times-bold-r-normal--18*   copy 
#!EF 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  #!F-adobe-times-bold-r-normal--18*   preserve #!EF is 
1. If this is not required, set  #!F-adobe-times-bold-r-normal--18*   preserve #!EF to 
0 and a more efficient traversal algorithm will be used. #!N 
#!N If the input  #!F-adobe-times-bold-r-normal--18*   Object #!EF is a Group and 
 #!F-adobe-times-bold-r-normal--18*   copy #!EF is 0, it operates directly on the Groups 
of the input  #!F-adobe-times-bold-r-normal--18*   object #!EF . #!N #!N In either 
case, for every Field  #!F-adobe-times-bold-r-normal--18*   f #!EF that is a member 
of a Group, it makes a call of the form  #!F-adobe-times-bold-r-normal--18*   
process(f #!EF ,  #!F-adobe-times-bold-r-normal--18*   args #!EF ,  #!F-adobe-times-bold-r-normal--18*   size) #!EF and 
places the result of that call in the output in place 
of  #!F-adobe-times-bold-r-normal--18*   f #!EF . The  #!F-adobe-times-bold-r-normal--18*   process #!EF function is 
intended to return a Field which is the processed version of 
input Field  #!F-adobe-times-bold-r-normal--18*   f #!EF . #!N #!N Regardless of the 
value of the  #!F-adobe-times-bold-r-normal--18*   copy #!EF parameter, the Field passed to 
the  #!F-adobe-times-bold-r-normal--18*   process #!EF function is the Field from the original 
Object and not a copy. #!N #!N The  #!F-adobe-times-bold-r-normal--18*   size #!EF 
parameter specifies the size of the block pointed to by  #!F-adobe-times-bold-r-normal--18*   
args #!EF . If  #!F-adobe-times-bold-r-normal--18*   size #!EF is nonzero, it makes 
a copy of the argument block and places it in global 
memory before passing it to  #!F-adobe-times-bold-r-normal--18*   process #!EF . The argument 
must be in global memory because  #!F-adobe-times-bold-r-normal--18*   DXProcessParts #!EF 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  #!F-adobe-times-bold-r-normal--18*   size #!EF can be given as 0.  #!F-adobe-times-bold-r-normal--18*   args 
#!EF should not contain pointers to local memory. #!N #!N If 
the  #!F-adobe-times-bold-r-normal--18*   process #!EF function returns  #!F-adobe-times-bold-r-normal--18*   NULL #!EF , and 
 #!F-adobe-times-bold-r-normal--18*   preserve #!EF is 1 or the Field was part of 
a Series Group or was the entire input Object, the  #!F-adobe-times-bold-r-normal--18*   
NULL #!EF return value is replaced with an empty Field. #!N 
#!N Return Value #!N #!N Returns the Object, a copy of 
the Object, or a processed version of it, depending on the 
parameters; otherwise, it returns  #!F-adobe-times-bold-r-normal--18*   NULL #!EF and sets an error 
code. #!N #!N See Also #!N #!N  #!F-adobe-times-bold-r-normal--18*    #!Ldxgp,dxall1256 h DXGetPart  #!EL  ,  #!Ldxgpc,dxall1257 h DXGetPartClass  #!EL  
,  #!Ldxsp,dxall1385 h DXSetPart  #!EL  #!EF #!N #!N  #!Lprts,dxall1068 h Parts  #!EL  . #!N #!N #!N  #!F-adobe-times-medium-i-normal--18*   
Next Topic #!EF #!N #!N  #!Ldxptvc,dxall1337 h DXPt, DXVec  #!EL  #!N  #!F-adobe-times-medium-i-normal--18*   #!N 
