PageRenderTime 10ms CodeModel.GetById 1ms app.highlight 3ms RepoModel.GetById 2ms app.codeStats 0ms

/indra/llcommon/llcommonutils.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 51 lines | 11 code | 4 blank | 36 comment | 0 complexity | 4d1ad8ff99bcb0c3a351be470dbdca52 MD5 | raw file
 1/**
 2 * @file llcommonutils.h
 3 * @brief Common utils
 4 *
 5 * $LicenseInfo:firstyear=2010&license=viewerlgpl$
 6 * Second Life Viewer Source Code
 7 * Copyright (C) 2010, Linden Research, Inc.
 8 * 
 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation;
12 * version 2.1 of the License only.
13 * 
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 * Lesser General Public License for more details.
18 * 
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 * 
23 * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
24 * $/LicenseInfo$
25 */
26
27#ifndef LL_LLCOMMONUTILS_H
28#define LL_LLCOMMONUTILS_H
29
30namespace LLCommonUtils
31{
32	/**
33	 * Computes difference between 'vnew' and 'vcur' vectors.
34	 * Items present in 'vnew' and missing in 'vcur' are treated as added and are copied into 'vadded'
35	 * Items missing in 'vnew' and present in 'vcur' are treated as removed and are copied into 'vremoved'
36	 *
37	 * @param vnew[in] - incoming IDs
38	 * @param vcur[in] - current IDs
39	 * @param vadded[out] - difference between incoming and current IDS - added IDs
40	 * @param vremoved[out] - difference between incoming and current IDS - removed IDs
41	 */
42	LL_COMMON_API void computeDifference(
43		const uuid_vec_t& vnew,
44		const uuid_vec_t& vcur,
45		uuid_vec_t& vadded,
46		uuid_vec_t& vremoved);
47};
48
49#endif //LL_LLCOMMONUTILS_H
50
51// EOF