diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 3219197033..6f0c12d89a 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -64,6 +64,11 @@ $(sha1)/SHA1Digest.C primitives/random/Random/Random.C primitives/random/cachedRandom/cachedRandom.H +ranges = primitives/ranges +$(ranges)/scalarRange/scalarRange.C +$(ranges)/scalarRange/scalarRanges.C + + containers/HashTables/HashTable/HashTableCore.C containers/HashTables/StaticHashTable/StaticHashTableCore.C containers/Lists/SortableList/ParSortableListName.C @@ -194,9 +199,6 @@ $(Time)/timeSelector.C $(Time)/instant/instant.C -db/scalarRange/scalarRange.C -db/scalarRange/scalarRanges.C - dimensionSet/dimensionSet.C dimensionSet/dimensionSetIO.C dimensionSet/dimensionSets.C diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.C b/src/OpenFOAM/db/objectRegistry/objectRegistry.C index dd21cf5d59..c3397ffc53 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.C @@ -31,6 +31,14 @@ License defineTypeNameAndDebug(Foam::objectRegistry, 0); +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +bool Foam::objectRegistry::parentNotTime() const +{ + return (&parent_ != dynamic_cast(&time_)); +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::objectRegistry::objectRegistry diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistry.H b/src/OpenFOAM/db/objectRegistry/objectRegistry.H index beb3c2493c..3b143b3268 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistry.H +++ b/src/OpenFOAM/db/objectRegistry/objectRegistry.H @@ -69,6 +69,10 @@ class objectRegistry // Private Member Functions + //- Is the objectRegistry parent_ different from time_ + // Used to terminate searching within the ancestors + bool parentNotTime() const; + //- Disallow Copy constructor objectRegistry(const objectRegistry&); diff --git a/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C b/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C index 34e87c092f..5cedd37740 100644 --- a/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C +++ b/src/OpenFOAM/db/objectRegistry/objectRegistryTemplates.C @@ -84,22 +84,13 @@ bool Foam::objectRegistry::foundObject(const word& name) const { return true; } - else - { - return false; - } } - else + else if (this->parentNotTime()) { - if (&parent_ != dynamic_cast(&time_)) - { - return parent_.foundObject(name); - } - else - { - return false; - } + return parent_.foundObject(name); } + + return false; } @@ -117,8 +108,10 @@ const Type& Foam::objectRegistry::lookupObject(const word& name) const return *vpsiPtr_; } - FatalErrorIn("objectRegistry::lookupObject(const word&) const") - << nl + FatalErrorIn + ( + "objectRegistry::lookupObject(const word&) const" + ) << nl << " lookup of " << name << " from objectRegistry " << this->name() << " successful\n but it is not a " << Type::typeName @@ -127,23 +120,21 @@ const Type& Foam::objectRegistry::lookupObject(const word& name) const } else { - if (&parent_ != dynamic_cast(&time_)) + if (this->parentNotTime()) { return parent_.lookupObject(name); } - else - { - FatalErrorIn - ( - "objectRegistry::lookupObject(const word&) const" - ) << nl - << " request for " << Type::typeName - << " " << name << " from objectRegistry " << this->name() - << " failed\n available objects of type " << Type::typeName - << " are" << nl - << names() - << abort(FatalError); - } + + FatalErrorIn + ( + "objectRegistry::lookupObject(const word&) const" + ) << nl + << " request for " << Type::typeName + << " " << name << " from objectRegistry " << this->name() + << " failed\n available objects of type " << Type::typeName + << " are" << nl + << names() + << abort(FatalError); } return *reinterpret_cast< const Type* >(0); diff --git a/src/OpenFOAM/db/scalarRange/scalarRange.C b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.C similarity index 99% rename from src/OpenFOAM/db/scalarRange/scalarRange.C rename to src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.C index f046e7ba87..51117ed401 100644 --- a/src/OpenFOAM/db/scalarRange/scalarRange.C +++ b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2007-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/OpenFOAM/db/scalarRange/scalarRange.H b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.H similarity index 98% rename from src/OpenFOAM/db/scalarRange/scalarRange.H rename to src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.H index 56a293dc37..2a22cfd004 100644 --- a/src/OpenFOAM/db/scalarRange/scalarRange.H +++ b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRange.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2007-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/OpenFOAM/db/scalarRange/scalarRanges.C b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C similarity index 98% rename from src/OpenFOAM/db/scalarRange/scalarRanges.C rename to src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C index 3b3dfd049d..0cd07c58e5 100644 --- a/src/OpenFOAM/db/scalarRange/scalarRanges.C +++ b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2007-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/src/OpenFOAM/db/scalarRange/scalarRanges.H b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.H similarity index 97% rename from src/OpenFOAM/db/scalarRange/scalarRanges.H rename to src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.H index 5d2a7969e2..f3aba0715c 100644 --- a/src/OpenFOAM/db/scalarRange/scalarRanges.H +++ b/src/OpenFOAM/primitives/ranges/scalarRange/scalarRanges.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2007-2010 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License