Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <lagrangianIntermediate/DataEntry.H>
00027
00028
00029
00030 template<class Type>
00031 Foam::autoPtr<Foam::DataEntry<Type> > Foam::DataEntry<Type>::New
00032 (
00033 const word& entryName,
00034 const dictionary& dict
00035 )
00036 {
00037 Istream& is(dict.lookup(entryName));
00038
00039 word DataEntryType(is);
00040
00041 typename dictionaryConstructorTable::iterator cstrIter =
00042 dictionaryConstructorTablePtr_->find(DataEntryType);
00043
00044 if (cstrIter == dictionaryConstructorTablePtr_->end())
00045 {
00046 FatalErrorIn("DataEntry<Type>::New(Istream&)")
00047 << "Unknown DataEntry type " << DataEntryType << " for DataEntry "
00048 << entryName << ". Constructor not in hash table" << nl << nl
00049 << " Valid DataEntry types are:" << nl
00050 << dictionaryConstructorTablePtr_->sortedToc() << nl
00051 << exit(FatalError);
00052 }
00053
00054 return autoPtr<DataEntry<Type> >(cstrIter()(entryName, is));
00055 }
00056
00057
00058