From 3b43ab0cfc30e76b303b4bc06f981715da72b017 Mon Sep 17 00:00:00 2001
From: andy <a.heather@opencfd.co.uk>
Date: Fri, 22 May 2009 13:58:15 +0100
Subject: [PATCH] added new construct with size

---
 src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C | 15 +++++++++++++++
 src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H |  3 +++
 2 files changed, 18 insertions(+)

diff --git a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
index 8fcc3bd982e..fcb2fbdebe9 100644
--- a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
+++ b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.C
@@ -63,6 +63,21 @@ Foam::IOPtrList<T>::IOPtrList(const IOobject& io)
 }
 
 
+template<class T>
+Foam::IOPtrList<T>::IOPtrList(const IOobject& io, const label s)
+:
+    regIOobject(io),
+    PtrList<T>(s)
+{
+    if (io.readOpt() != IOobject::NO_READ)
+    {
+        FatalErrorIn("IOPtrList<T>::IOPtrList(const IOobject&, const label)")
+            << "NO_READ must be set if specifying size" << nl
+            << exit(FatalError);
+    }
+}
+
+
 template<class T>
 Foam::IOPtrList<T>::IOPtrList(const IOobject& io, const PtrList<T>& list)
 :
diff --git a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H
index 9a2e8ce5afe..bc2232056f4 100644
--- a/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H
+++ b/src/OpenFOAM/db/IOobjects/IOPtrList/IOPtrList.H
@@ -70,6 +70,9 @@ public:
         //- Construct from IOobject
         IOPtrList(const IOobject&);
 
+        //- Construct from IOobject with given size
+        IOPtrList(const IOobject&, const label);
+
         //- Construct from IOobject and a PtrList
         IOPtrList(const IOobject&, const PtrList<T>&);
 
-- 
GitLab