ENH: remove uniform compact output for FixedList (#1160)
- a FixedList is generally small so there is little advantage in a compact output form for uniform content. Eg, "2{-1}" By avoiding this compact form we obtain output that is also consistent with Tuple2, for example. - make FixedList construct from Istream explicit
This commit is contained in:
parent
8eefc7b347
commit
1458b4f689
@ -180,7 +180,7 @@ public:
|
||||
inline explicit FixedList(const SLList<T>& list);
|
||||
|
||||
//- Construct from Istream
|
||||
FixedList(Istream& is);
|
||||
explicit FixedList(Istream& is);
|
||||
|
||||
//- Clone
|
||||
inline autoPtr<FixedList<T, Size>> clone() const;
|
||||
|
@ -29,7 +29,6 @@ License
|
||||
#include "token.H"
|
||||
#include "contiguous.H"
|
||||
|
||||
|
||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class T, unsigned Size>
|
||||
@ -70,15 +69,14 @@ Foam::Ostream& Foam::FixedList<T, Size>::writeList
|
||||
const FixedList<T, Size>& list = *this;
|
||||
|
||||
// Write list contents depending on data format
|
||||
|
||||
// Unlike UList, no compact output form (eg, "2{-1}") since a
|
||||
// FixedList is generally small and we also want the same appearance
|
||||
// for FixedList<T, 2> as Tuple2<T,T>
|
||||
|
||||
if (os.format() == IOstream::ASCII || !contiguous<T>())
|
||||
{
|
||||
if (contiguous<T>() && list.uniform())
|
||||
{
|
||||
// Two or more entries, and all entries have identical values.
|
||||
|
||||
os << Size << token::BEGIN_BLOCK << list[0] << token::END_BLOCK;
|
||||
}
|
||||
else if
|
||||
if
|
||||
(
|
||||
Size <= 1 || !shortListLen
|
||||
|| (Size <= unsigned(shortListLen) && contiguous<T>())
|
||||
@ -145,7 +143,8 @@ Foam::Istream& Foam::operator>>(Foam::Istream& is, FixedList<T, Size>& list)
|
||||
|
||||
is.fatalCheck
|
||||
(
|
||||
"operator>>(Istream&, FixedList<T, Size>&) : reading first token"
|
||||
"operator>>(Istream&, FixedList<T, Size>&) : "
|
||||
"reading first token"
|
||||
);
|
||||
|
||||
if (firstToken.isCompound())
|
||||
|
Loading…
Reference in New Issue
Block a user