From b914228f3daa1201c3fb379a243268ed70c99c64 Mon Sep 17 00:00:00 2001 From: mattijs <m.janssens@opencfd.co.uk> Date: Thu, 15 May 2008 16:45:13 +0100 Subject: [PATCH] Added initList for initialisation of Lists. --- src/OpenFOAM/containers/Lists/ListOps/ListOps.H | 6 ++++++ .../containers/Lists/ListOps/ListOpsTemplates.C | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H index a0422e31e90..f1fadd14b5d 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOps.H +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOps.H @@ -183,6 +183,12 @@ label findLower ); +//- To construct a List from a C array. Has extra Container type +// to initialise e.g. wordList from arrays of char*. +template<class Container, class T, int nRows> +List<Container> initList(const T[nRows]); + + //- To construct a (square) ListList from a C array. Has extra Container type // to initialise e.g. faceList from arrays of labels. template<class Container, class T, int nRows, int nColumns> diff --git a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C index 2a2792af531..53866772aae 100644 --- a/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C +++ b/src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C @@ -486,6 +486,19 @@ Foam::label Foam::findLower } +template<class Container, class T, int nRows> +Foam::List<Container> Foam::initList(const T elems[nRows]) +{ + List<Container> faces(nRows); + + forAll(faces, faceI) + { + faces[faceI] = Container(elems[faceI]); + } + return faces; +} + + template<class Container, class T, int nRows, int nColumns> Foam::List<Container> Foam::initListList(const T elems[nRows][nColumns]) { -- GitLab