view general/cpfields.m @ 6:0ce3c2070089

Removed duplicate code and fixed doc in timed_action.
author samer
date Mon, 14 Jan 2013 14:33:37 +0000
parents e44f49929e56
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);