1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd.
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software; you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation; either version 2 of the License, or (at your
14 option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27 \*---------------------------------------------------------------------------*/
29 #include "DynamicList.H"
30 #include "IOstreams.H"
34 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
37 int main(int argc, char *argv[])
39 List<DynamicList<label, 1, 0> > ldl(2);
46 ldl[0].setSize(5); // increase allocated size
47 ldl[1].setSize(10); // increase allocated size
52 Info<< "<ldl>" << ldl << "</ldl>" << nl << "sizes: ";
55 Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize();
59 List<List<label> > ll(2);
60 ll[0].transfer(ldl[0]);
61 ll[1].transfer(ldl[1].shrink());
63 Info<< "<ldl>" << ldl << "</ldl>" << nl << "sizes: ";
66 Info<< " " << ldl[i].size() << "/" << ldl[i].allocSize();
70 Info<< "<ll>" << ll << "</ll>" << nl << endl;
73 // test the transfer between DynamicLists
74 DynamicList<label, 1, 0> dlA;
75 DynamicList<label, 1, 0> dlB;
77 for (label i = 0; i < 5; i++)
83 Info<< "<dlA>" << dlA << "</dlA>" << nl << "sizes: "
84 << " " << dlA.size() << "/" << dlA.allocSize() << endl;
88 // provokes memory error if previous transfer did not maintain
89 // the correct allocated space
91 // currently fails in OpenFOAM-1.5.x
96 Info<< "Transferred to dlB" << endl;
97 Info<< "<dlA>" << dlA << "</dlA>" << nl << "sizes: "
98 << " " << dlA.size() << "/" << dlA.allocSize() << endl;
99 Info<< "<dlB>" << dlB << "</dlB>" << nl << "sizes: "
100 << " " << dlB.size() << "/" << dlB.allocSize() << endl;
107 // ************************************************************************* //