view general/cpfields.m @ 4:e44f49929e56

Adding reorganised general toolbox, now in several subdirectories.
author samer
date Sat, 12 Jan 2013 19:21:22 +0000
parents
children 03694e5c8365
line wrap: on
line source
% cpfields - Copy selected fields from one structure to another
%
% cpfields :: 
%    C:{[N]->string}   ~'fields names to copy', 
%    struct A          ~'struct with field names in A', 
%    struct B          ~'struct with field names in B'
% -> struct union(B,C) ~'struct with fields B union C' :-
%  	subset(C,A)      ~'target fields must be in A'.
function B=cpfields(fields,A,B)
	B=foldl(@(b,fn)setfield(b,fn,getfield(A,fn)),B,fields);