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