Mercurial > hg > ltpda
view m-toolbox/classes/@collection/copy.m @ 13:e05504b18072 database-connection-manager
Move more functions to utils.repository
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Mon, 05 Dec 2011 16:20:06 +0100 |
parents | f0afece42f48 |
children |
line wrap: on
line source
% COPY makes a (deep) copy of the input collection objects. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % DESCRIPTION: COPY makes a deep copy of the input collection objects. % % CALL: b = copy(a, flag) % % INPUTS: a - input collection object % flag - 1: make a deep copy, 0: return copies of handles % % OUTPUTS: b - copy of inputs % % This is a transparent function and adds no history. % % VERSION: $Id: copy.m,v 1.5 2010/06/25 15:11:47 ingo Exp $ % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function varargout = copy(old, deepcopy) if deepcopy % Loop over input collection objects new = collection.newarray(size(old)); obj = copy@ltpda_uoh(new, old, 1); for kk=1:numel(old) for ll=1:numel(old(kk).objs) if isa(old(kk).objs{ll}, 'ltpda_obj') obj(kk).objs{ll} = copy(old(kk).objs{ll}, 1); else obj(kk).objs{ll} = old(kk).objs{ll}; end end end else obj = old; end varargout{1} = obj; end