ENH: Added dictionary write functionality to DataEntry

This commit is contained in:
andy 2011-11-17 18:10:42 +00:00
parent f93ae77a86
commit 8b4fa16d8b
8 changed files with 81 additions and 17 deletions

View File

@ -108,8 +108,17 @@ public:
Type integrate(const scalar x1, const scalar x2) const; Type integrate(const scalar x1, const scalar x2) const;
//- Ostream Operator // I/O
friend Ostream& operator<< <Type>(Ostream&, const Constant<Type>&);
//- Ostream Operator
friend Ostream& operator<< <Type>
(
Ostream& os,
const Constant<Type>& cnst
);
//- Write in dictionary format
virtual void writeData(Ostream& os) const;
}; };

View File

@ -59,4 +59,14 @@ Foam::Ostream& Foam::operator<<
} }
template<class Type>
void Foam::Constant<Type>::writeData(Ostream& os) const
{
DataEntry<Type>::writeData(os);
os << token::SPACE << value_ << token::END_STATEMENT << nl;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -142,12 +142,17 @@ public:
virtual Type integrate(const scalar x1, const scalar x2) const; virtual Type integrate(const scalar x1, const scalar x2) const;
//- Ostream Operator // I/O
friend Ostream& operator<< <Type>
( //- Ostream Operator
Ostream&, friend Ostream& operator<< <Type>
const DataEntry<Type>& (
); Ostream& os,
const DataEntry<Type>& de
);
//- Write in dictionary format
virtual void writeData(Ostream& os) const;
}; };

View File

@ -31,7 +31,7 @@ template<class Type>
Foam::Ostream& Foam::operator<< Foam::Ostream& Foam::operator<<
( (
Ostream& os, Ostream& os,
const DataEntry<Type>& const DataEntry<Type>& de
) )
{ {
// Check state of Ostream // Check state of Ostream
@ -40,8 +40,17 @@ Foam::Ostream& Foam::operator<<
"Ostream& operator<<(Ostream&, const DataEntry<Type>&)" "Ostream& operator<<(Ostream&, const DataEntry<Type>&)"
); );
os << de.name_;
return os; return os;
} }
template<class Type>
void Foam::DataEntry<Type>::writeData(Ostream& os) const
{
os.writeKeyword(name_) << type();
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -118,12 +118,17 @@ public:
Type integrate(const scalar x1, const scalar x2) const; Type integrate(const scalar x1, const scalar x2) const;
//- Ostream Operator // I/O
friend Ostream& operator<< <Type>
( //- Ostream Operator
Ostream&, friend Ostream& operator<< <Type>
const Table<Type>& (
); Ostream& os,
const Table<Type>& cnst
);
//- Write in dictionary format
virtual void writeData(Ostream& os) const;
}; };

View File

@ -59,4 +59,13 @@ Foam::Ostream& Foam::operator<<
} }
template<class Type>
void Foam::Table<Type>::writeData(Ostream& os) const
{
DataEntry<Type>::writeData(os);
os << nl << indent << table_ << token::END_STATEMENT << nl;
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -119,8 +119,17 @@ public:
scalar integrate(const scalar x1, const scalar x2) const; scalar integrate(const scalar x1, const scalar x2) const;
//- Ostream Operator // I/O
friend Ostream& operator<<(Ostream&, const polynomial&);
//- Ostream Operator
friend Ostream& operator<<
(
Ostream& os,
const polynomial& cnst
);
//- Write in dictionary format
virtual void writeData(Ostream& os) const;
}; };

View File

@ -58,4 +58,12 @@ Foam::Ostream& Foam::operator<<
} }
void Foam::polynomial::writeData(Ostream& os) const
{
DataEntry<scalar>::writeData(os);
os << nl << indent << coeffs_ << token::END_STATEMENT << nl;
}
// ************************************************************************* // // ************************************************************************* //