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;
// I/O
//- Ostream Operator
friend Ostream& operator<< <Type>(Ostream&, const Constant<Type>&);
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;
// I/O
//- Ostream Operator
friend Ostream& operator<< <Type>
(
Ostream&,
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<<
(
Ostream& os,
const DataEntry<Type>&
const DataEntry<Type>& de
)
{
// Check state of Ostream
@ -40,8 +40,17 @@ Foam::Ostream& Foam::operator<<
"Ostream& operator<<(Ostream&, const DataEntry<Type>&)"
);
os << de.name_;
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;
// I/O
//- Ostream Operator
friend Ostream& operator<< <Type>
(
Ostream&,
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;
// I/O
//- Ostream Operator
friend Ostream& operator<<(Ostream&, const polynomial&);
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;
}
// ************************************************************************* //