STYLE: use noexcept creation of InfoProxy and dereference as '*iproxy'

- this removes the 'magic' use of the exposed t_ member in favour
  of a generic dereference
This commit is contained in:
Mark Olesen
2023-05-17 09:34:09 +02:00
parent a0005c3a54
commit a5d9ad3a5c
52 changed files with 287 additions and 273 deletions

View File

@ -33,10 +33,10 @@ template<class Gt, class Cb>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<CGAL::indexedCell<Gt, Cb>>& p
const InfoProxy<CGAL::indexedCell<Gt, Cb>>& iproxy
)
{
const CGAL::indexedCell<Gt, Cb>& iv = p.t_;
const auto& iv = *iproxy;
os << "Cell: ";

View File

@ -249,9 +249,9 @@ public:
// Info
//- Return info proxy.
// Used to print indexedCell information to a stream
Foam::InfoProxy<indexedCell<Gt, Cb>> info() const
//- Return info proxy,
//- used to print information to a stream
Foam::InfoProxy<indexedCell<Gt, Cb>> info() const noexcept
{
return *this;
}
@ -261,7 +261,6 @@ public:
Foam::Ostream&,
const Foam::InfoProxy<indexedCell<Gt, Cb>>&
);
};

View File

@ -156,10 +156,10 @@ template<class Gt, class Vb>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<CGAL::indexedVertex<Gt, Vb>>& p
const InfoProxy<CGAL::indexedVertex<Gt, Vb>>& iproxy
)
{
const CGAL::indexedVertex<Gt, Vb>& iv = p.t_;
const auto& iv = *iproxy;
const Foam::point pt
(

View File

@ -313,8 +313,9 @@ public:
// IOstream Operators
//- Info proxy, to print information to a stream
Foam::InfoProxy<indexedVertex<Gt, Vb>> info() const
//- Return info proxy,
//- used to print information to a stream
Foam::InfoProxy<indexedVertex<Gt, Vb>> info() const noexcept
{
return *this;
}

View File

@ -654,7 +654,7 @@ Foam::Ostream& Foam::operator<<
const InfoProxy<PDRobstacle>& iproxy
)
{
const PDRobstacle& obs = iproxy.t_;
const auto& obs = *iproxy;
switch (obs.typeId)
{

View File

@ -37,8 +37,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef PDRobstacle_H
#define PDRobstacle_H
#ifndef Foam_PDRobstacle_H
#define Foam_PDRobstacle_H
#include "InfoProxy.H"
#include "labelPair.H"
@ -290,8 +290,9 @@ public:
// IOstream Operators
//- Return info proxy.
InfoProxy<PDRobstacle> info() const
//- Return info proxy,
//- used to print information to a stream
InfoProxy<PDRobstacle> info() const noexcept
{
return *this;
}

View File

@ -510,8 +510,9 @@ public:
// IOstream Operators
//- Return info proxy.
InfoProxy<PackedList<Width>> info() const
//- Return info proxy,
//- used to print information to a stream
InfoProxy<PackedList<Width>> info() const noexcept
{
return *this;
}

View File

@ -271,7 +271,7 @@ Foam::Ostream& Foam::operator<<
const InfoProxy<PackedList<Width>>& iproxy
)
{
const PackedList<Width>& list = iproxy.t_;
const auto& list = *iproxy;
os << "PackedList<" << Width
<< "> size=" << list.size() << "/" << list.capacity()

View File

@ -604,8 +604,9 @@ public:
// IOstream Operators
//- Return info proxy
InfoProxy<bitSet> info() const
//- Return info proxy,
//- used to print information to a stream
InfoProxy<bitSet> info() const noexcept
{
return *this;
}
@ -634,7 +635,7 @@ template<> struct Hash<bitSet> : bitSet::hasher {};
Ostream& operator<<(Ostream& os, const bitSet& bitset);
//- Output bitset information
Ostream& operator<<(Ostream& os, const InfoProxy<bitSet>& info);
Ostream& operator<<(Ostream& os, const InfoProxy<bitSet>& iproxy);
//- Bitset complement, returns a copy of the bitset with all its bits flipped

View File

@ -42,10 +42,10 @@ Foam::Ostream& Foam::operator<<
const InfoProxy<bitSet>& iproxy
)
{
const bitSet& bitset = iproxy.t_;
const auto& bitset = *iproxy;
os << "bitSet<" << bitSet::elem_per_block
<< "> size=" << bitset.size() << "/" << bitset.capacity()
<< "> size=" << bitset.size() << '/' << bitset.capacity()
<< " count=" << bitset.count()
<< nl;

View File

@ -101,8 +101,8 @@ SourceFiles
#include "fileName.H"
#include "typeInfo.H"
#include "autoPtr.H"
#include "InfoProxy.H"
#include "Enum.H"
#include "InfoProxy.H"
#include "IOobjectOption.H"
#include "IOstreamOption.H"
@ -115,6 +115,11 @@ namespace Foam
class Time;
class dictionary;
class objectRegistry;
class IOobject;
template<>
Ostream& operator<<(Ostream&, const InfoProxy<IOobject>&);
/*---------------------------------------------------------------------------*\
Class IOobject Declaration
@ -646,11 +651,9 @@ public:
// Info
//- Return info proxy, for printing information to a stream
InfoProxy<IOobject> info() const
{
return *this;
}
//- Return info proxy,
//- for printing information to a stream
InfoProxy<IOobject> info() const noexcept { return *this; }
// Member Operators
@ -668,10 +671,6 @@ inline bool IOobject::isHeaderClass<void>() const
}
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<IOobject>& ip);
//- Template function for obtaining global vs. local status
template<class T>
inline bool typeGlobal()

View File

@ -31,9 +31,13 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template<>
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<IOobject>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<IOobject>& iproxy
)
{
const IOobject& io = ip.t_;
const auto& io = *iproxy;
os << "IOobject: "
<< io.type() << ' ' << io.name()

View File

@ -138,9 +138,13 @@ void Foam::IOstream::print(Ostream& os, const int streamState) const
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
template<>
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<IOstream>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<IOstream>& iproxy
)
{
ip.t_.print(os);
(*iproxy).print(os);
return os;
}

View File

@ -73,6 +73,13 @@ using std::cout;
namespace Foam
{
// Forward Declarations
class IOstream;
template<>
Ostream& operator<<(Ostream&, const InfoProxy<IOstream>&);
/*---------------------------------------------------------------------------*\
Class IOstream Declaration
\*---------------------------------------------------------------------------*/
@ -405,21 +412,12 @@ public:
// Info
//- Return info proxy.
// Used to print IOstream information to a stream
InfoProxy<IOstream> info() const
{
return *this;
}
//- Return info proxy,
//- used to print IOstream information to a stream
InfoProxy<IOstream> info() const noexcept { return *this; }
};
// Ostream Operator
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<IOstream>& ip);
// --------------------------------------------------------------------
// ------ Manipulators (not taking arguments)
// --------------------------------------------------------------------

View File

@ -583,11 +583,9 @@ public:
// Info
//- Return info proxy for printing token information to a stream
InfoProxy<token> info() const
{
return *this;
}
//- Return info proxy,
//- for printing token information to a stream
InfoProxy<token> info() const noexcept { return *this; }
// Member Operators
@ -658,7 +656,7 @@ public:
friend Ostream& operator<<(Ostream& os, const punctuationToken& pt);
friend ostream& operator<<(ostream& os, const punctuationToken& pt);
friend ostream& operator<<(ostream& os, const InfoProxy<token>& ct);
friend ostream& operator<<(ostream& os, const InfoProxy<token>& ip);
// Housekeeping

View File

@ -260,16 +260,24 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const token::compound& ct)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ostream& Foam::operator<<(ostream& os, const InfoProxy<token>& ip)
ostream& Foam::operator<<
(
ostream& os,
const InfoProxy<token>& iproxy
)
{
return printTokenInfo(os, ip.t_);
return printTokenInfo(os, *iproxy);
}
template<>
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<token>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<token>& iproxy
)
{
return printTokenInfo(os, ip.t_);
return printTokenInfo(os, *iproxy);
}

View File

@ -42,8 +42,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef dictionaryEntry_H
#define dictionaryEntry_H
#ifndef Foam_dictionaryEntry_H
#define Foam_dictionaryEntry_H
#include "entry.H"
#include "dictionary.H"
@ -54,10 +54,13 @@ SourceFiles
namespace Foam
{
// Forward declarations
// Forward Declarations
class dictionaryEntry;
Ostream& operator<<(Ostream& os, const dictionaryEntry& e);
template<>
Ostream& operator<<(Ostream&, const InfoProxy<dictionaryEntry>&);
/*---------------------------------------------------------------------------*\
Class dictionaryEntry Declaration
@ -68,14 +71,14 @@ class dictionaryEntry
public entry,
public dictionary
{
// Private Member Functions
public:
// Generated Methods
//- No copy construct
dictionaryEntry(const dictionaryEntry&) = delete;
public:
// Constructors
//- Construct from the parent dictionary and Istream.
@ -158,24 +161,17 @@ public:
//- Write
virtual void write(Ostream& os) const;
//- Return info proxy.
// Used to print token information to a stream
InfoProxy<dictionaryEntry> info() const
{
return *this;
}
//- Return info proxy,
//- used to print token information to a stream
InfoProxy<dictionaryEntry> info() const noexcept { return *this; }
// Ostream Operator
// Ostream Operators
friend Ostream& operator<<(Ostream& os, const dictionaryEntry& e);
};
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<dictionaryEntry>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -68,7 +68,11 @@ void Foam::dictionaryEntry::write(Ostream& os) const
// * * * * * * * * * * * * * * Ostream operator * * * * * * * * * * * * * * //
Foam::Ostream& Foam::operator<<(Ostream& os, const dictionaryEntry& e)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const dictionaryEntry& e
)
{
e.write(os);
return os;
@ -79,10 +83,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<dictionaryEntry>& ip
const InfoProxy<dictionaryEntry>& iproxy
)
{
const dictionaryEntry& e = ip.t_;
const auto& e = *iproxy;
os << " dictionaryEntry '" << e.keyword() << "'" << endl;

View File

@ -42,8 +42,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef dictionaryListEntry_H
#define dictionaryListEntry_H
#ifndef Foam_dictionaryListEntry_H
#define Foam_dictionaryListEntry_H
#include "dictionaryEntry.H"
@ -52,11 +52,14 @@ SourceFiles
namespace Foam
{
// Forward declaration of friend functions and operators
// Forward Declarations
class dictionaryListEntry;
Ostream& operator<<(Ostream& os, const dictionaryListEntry& e);
template<>
Ostream& operator<<(Ostream&, const InfoProxy<dictionaryListEntry>&);
/*---------------------------------------------------------------------------*\
Class dictionaryListEntry Declaration
@ -66,14 +69,14 @@ class dictionaryListEntry
:
public dictionaryEntry
{
// Private Member Functions
public:
// Generated Methods
//- No copy construct
dictionaryListEntry(const dictionaryListEntry&) = delete;
public:
// Constructors
//- Construct from the parent dictionary and Istream
@ -92,29 +95,22 @@ public:
}
// Member functions
// Member Functions
//- Write
virtual void write(Ostream& os) const;
//- Return info proxy.
// Used to print token information to a stream
InfoProxy<dictionaryListEntry> info() const
{
return *this;
}
//- Return info proxy,
//- used to print token information to a stream
InfoProxy<dictionaryListEntry> info() const noexcept { return *this; }
// Ostream operator
// Ostream Operator
friend Ostream& operator<<(Ostream& os, const dictionaryListEntry& e);
};
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<dictionaryListEntry>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -132,7 +132,11 @@ void Foam::dictionaryListEntry::write(Ostream& os) const
// * * * * * * * * * * * * * * Ostream operator * * * * * * * * * * * * * * //
Foam::Ostream& Foam::operator<<(Ostream& os, const dictionaryListEntry& e)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const dictionaryListEntry& e
)
{
e.write(os);
return os;
@ -143,10 +147,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<dictionaryListEntry>& ip
const InfoProxy<dictionaryListEntry>& iproxy
)
{
const dictionaryListEntry& e = ip.t_;
const auto& e = *iproxy;
os << " dictionaryListEntry '" << e.keyword() << "'" << endl;

View File

@ -42,8 +42,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef primitiveEntry_H
#define primitiveEntry_H
#ifndef Foam_primitiveEntry_H
#define Foam_primitiveEntry_H
#include "entry.H"
#include "ITstream.H"
@ -56,6 +56,11 @@ namespace Foam
// Forward Declarations
class dictionary;
class primitiveEntry;
template<>
Ostream& operator<<(Ostream&, const InfoProxy<primitiveEntry>&);
/*---------------------------------------------------------------------------*\
Class primitiveEntry Declaration
@ -193,19 +198,12 @@ public:
//- Write, optionally with contents only (no keyword, etc)
void write(Ostream& os, const bool contentsOnly) const;
//- Return info proxy.
// Used to print token information to a stream
InfoProxy<primitiveEntry> info() const
{
return *this;
}
//- Return info proxy,
//- to print token information to a stream
InfoProxy<primitiveEntry> info() const noexcept { return *this; }
};
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<primitiveEntry>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -313,14 +313,14 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<primitiveEntry>& ip
const InfoProxy<primitiveEntry>& iproxy
)
{
const primitiveEntry& e = ip.t_;
const auto& e = *iproxy;
e.print(os);
const label nPrintTokens = 10;
constexpr label nPrintTokens = 10;
os << " primitiveEntry '" << e.keyword() << "' comprises ";

View File

@ -611,10 +611,10 @@ bool Foam::dlLibraryTable::open
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<dlLibraryTable>& ip
const InfoProxy<dlLibraryTable>& iproxy
)
{
const dlLibraryTable& tbl = ip.t_;
const auto& tbl = *iproxy;
os << token::BEGIN_LIST << nl;

View File

@ -40,8 +40,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef dlLibraryTable_H
#define dlLibraryTable_H
#ifndef Foam_dlLibraryTable_H
#define Foam_dlLibraryTable_H
#include "DynamicList.H"
#include "fileName.H"
@ -55,7 +55,8 @@ namespace Foam
// Forward Declarations
class dlLibraryTable;
Ostream& operator<<(Ostream& os, const InfoProxy<dlLibraryTable>& info);
Ostream& operator<<(Ostream&, const InfoProxy<dlLibraryTable>&);
/*---------------------------------------------------------------------------*\
Class dlLibraryTable Declaration
@ -308,12 +309,9 @@ public:
// Info
//- Return info proxy.
// Used to print library table information to a stream
InfoProxy<dlLibraryTable> info() const
{
return *this;
}
//- Return info proxy,
//- used to print library table information to a stream
InfoProxy<dlLibraryTable> info() const noexcept { return *this; }
};

View File

@ -407,9 +407,13 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const lduMatrix& ldum)
}
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<lduMatrix>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<lduMatrix>& iproxy
)
{
const lduMatrix& ldum = ip.t_;
const auto& ldum = *iproxy;
Switch hasLow = ldum.hasLower();
Switch hasDiag = ldum.hasDiag();

View File

@ -790,15 +790,12 @@ public:
// Info
//- Return info proxy.
// Used to print matrix information to a stream
InfoProxy<lduMatrix> info() const
{
return *this;
}
//- Return info proxy,
//- used to print matrix information to a stream
InfoProxy<lduMatrix> info() const noexcept { return *this; }
// Member operators
// Member Operators
void operator=(const lduMatrix&);
@ -811,7 +808,7 @@ public:
void operator*=(scalar);
// Ostream operator
// Ostream Operators
friend Ostream& operator<<(Ostream&, const lduMatrix&);
friend Ostream& operator<<(Ostream&, const InfoProxy<lduMatrix>&);

View File

@ -49,9 +49,13 @@ const Foam::objectRegistry& Foam::lduMesh::thisDb() const
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<lduMesh>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<lduMesh>& iproxy
)
{
const lduMesh& ldum = ip.t_;
const auto& ldum = *iproxy;
const lduAddressing& addr = ldum.lduAddr();
const lduInterfacePtrsList interfaces = ldum.interfaces();
@ -62,6 +66,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<lduMesh>& ip)
<< " interfaces:" << interfaces.size()
<< " comm:" << ldum.comm()
<< endl;
label nCouples = 0;
forAll(interfaces, i)
{

View File

@ -100,12 +100,9 @@ public:
// Info
//- Return info proxy.
// Used to print mesh information to a stream
InfoProxy<lduMesh> info() const
{
return *this;
}
//- Return info proxy,
//- used to print mesh information to a stream
InfoProxy<lduMesh> info() const noexcept { return *this; }
// Ostream Operator

View File

@ -46,8 +46,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef cellModel_H
#define cellModel_H
#ifndef Foam_cellModel_H
#define Foam_cellModel_H
#include "pointField.H"
#include "edgeList.H"
@ -66,6 +66,10 @@ namespace Foam
class cellModel;
Ostream& operator<<(Ostream& os, const cellModel& cm);
template<>
Ostream& operator<<(Ostream&, const InfoProxy<cellModel>&);
/*---------------------------------------------------------------------------*\
Class cellModel Declaration
\*---------------------------------------------------------------------------*/
@ -228,12 +232,10 @@ public:
const UList<point>& points
) const;
//- Return info proxy.
// Used to print information to a stream
InfoProxy<cellModel> info() const
{
return *this;
}
//- Return info proxy,
//- used to print information to a stream
InfoProxy<cellModel> info() const noexcept { return *this; }
//- The writeData member function required by regIOobject
bool writeData(Ostream& os) const
@ -249,12 +251,6 @@ public:
};
// Ostream Operators
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<cellModel>& ip);
// Global Operators
//- Equality: true when model pointers are identical

View File

@ -59,9 +59,13 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const cellModel& cm)
template<>
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<cellModel>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<cellModel>& iproxy
)
{
const cellModel& cm = ip.t_;
const auto& cm = *iproxy;
os << "name = " << cm.name() << ", "
<< "index = " << cm.index() << ", "

View File

@ -62,6 +62,9 @@ bool operator==(const cellShape& a, const cellShape& b);
Istream& operator>>(Istream& is, cellShape& s);
Ostream& operator<<(Ostream& os, const cellShape& s);
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<cellShape>& ip);
/*---------------------------------------------------------------------------*\
Class cellShape Declaration
@ -212,11 +215,9 @@ public:
//- Collapse shape to correct one after removing duplicate vertices
void collapse();
//- Return info proxy, to print information to a stream
Foam::InfoProxy<cellShape> info() const
{
return *this;
}
//- Return info proxy,
//- used to print information to a stream
InfoProxy<cellShape> info() const noexcept { return *this; }
// Friend Operators
@ -224,17 +225,13 @@ public:
friend bool operator==(const cellShape& a, const cellShape& b);
// IOstream operators
// IOstream Operators
friend Istream& operator>>(Istream& is, cellShape& s);
friend Ostream& operator<<(Ostream& os, const cellShape& s);
};
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<cellShape>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -115,9 +115,13 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const cellShape& s)
template<>
Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<cellShape>& ip)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<cellShape>& iproxy
)
{
const cellShape& cs = ip.t_;
const auto& cs = *iproxy;
if (isNull(cs.model()))
{
@ -125,7 +129,7 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const InfoProxy<cellShape>& ip)
}
else
{
os << cs.model().info() << endl;
os << cs.model().info() << nl;
}
os << "\tGeom:\tpoint\tlabel\txyz\n";

View File

@ -97,6 +97,9 @@ class mapDistributeBase;
Istream& operator>>(Istream&, mapDistributeBase&);
Ostream& operator<<(Ostream&, const mapDistributeBase&);
template<>
Ostream& operator<<(Ostream&, const InfoProxy<mapDistributeBase>&);
/*---------------------------------------------------------------------------*\
Class mapDistributeBase Declaration
@ -1031,8 +1034,9 @@ public:
// IOstream Operators
//- Info proxy to print summary information to a stream
InfoProxy<mapDistributeBase> info() const
//- Return info proxy,
//- used to print summary information to a stream
InfoProxy<mapDistributeBase> info() const noexcept
{
return *this;
}
@ -1079,12 +1083,6 @@ public:
};
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<mapDistributeBase>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -171,10 +171,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<mapDistributeBase>& ip
const InfoProxy<mapDistributeBase>& iproxy
)
{
const auto& map = ip.t_;
const auto& map = *iproxy;
// Output as compact pseudo dictionary entries

View File

@ -59,6 +59,9 @@ class mapDistributePolyMesh;
Istream& operator>>(Istream&, mapDistributePolyMesh&);
Ostream& operator<<(Ostream&, const mapDistributePolyMesh&);
template<>
Ostream& operator<<(Ostream&, const InfoProxy<mapDistributePolyMesh>&);
/*---------------------------------------------------------------------------*\
Class mapDistributePolyMesh Declaration
@ -308,8 +311,9 @@ public:
// IOstream Operators
//- Info proxy to print summary information to a stream
InfoProxy<mapDistributePolyMesh> info() const
//- Return info proxy,
//- used to print summary information to a stream
InfoProxy<mapDistributePolyMesh> info() const noexcept
{
return *this;
}
@ -351,12 +355,6 @@ public:
};
// * * * * * * * * * * * * * * * IOstream Operators * * * * * * * * * * * * //
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<mapDistributePolyMesh>& ip);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -187,10 +187,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<mapDistributePolyMesh>& ip
const InfoProxy<mapDistributePolyMesh>& iproxy
)
{
const auto& map = ip.t_;
const auto& map = *iproxy;
os.beginBlock("cellMap");
os.writeEntry("oldSize", map.nOldCells());

View File

@ -254,8 +254,9 @@ public:
// Output
//- Return info proxy
InfoProxy<ensightCells> info() const { return *this; }
//- Return info proxy,
//- used to print information to a stream
InfoProxy<ensightCells> info() const noexcept { return *this; }
//- Globally unique mesh points. Required when writing point fields.
@ -281,6 +282,7 @@ public:
};
//- Print information via proxy
template<>
Ostream& operator<<(Ostream&, const InfoProxy<ensightCells>&);

View File

@ -336,10 +336,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<ensightCells>& ip
const InfoProxy<ensightCells>& iproxy
)
{
const ensightCells& part = ip.t_;
const auto& part = *iproxy;
os << part.name().c_str();

View File

@ -247,8 +247,9 @@ public:
// Output
//- Return info proxy
InfoProxy<ensightFaces> info() const { return *this; }
//- Return info proxy,
//- used to print information to a stream
InfoProxy<ensightFaces> info() const noexcept { return *this; }
//- Globally unique mesh points.
@ -274,6 +275,7 @@ public:
};
//- Print information via proxy
template<>
Ostream& operator<<(Ostream&, const InfoProxy<ensightFaces>&);

View File

@ -141,10 +141,10 @@ template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<ensightFaces>& ip
const InfoProxy<ensightFaces>& iproxy
)
{
const ensightFaces& part = ip.t_;
const auto& part = *iproxy;
os << part.name().c_str();

View File

@ -508,10 +508,10 @@ Foam::Ostream& Foam::operator<<
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<wallBoundedParticle>& ip
const InfoProxy<wallBoundedParticle>& iproxy
)
{
const wallBoundedParticle& p = ip.t_;
const auto& p = *iproxy;
tetPointRef tpr(p.currentTetIndices().tet(p.mesh()));

View File

@ -262,9 +262,9 @@ public:
// Info
//- Return info proxy.
// Used to print particle information to a stream
inline InfoProxy<wallBoundedParticle> info() const
//- Return info proxy,
//- used to print particle information to a stream
InfoProxy<wallBoundedParticle> info() const noexcept
{
return *this;
}

View File

@ -496,7 +496,7 @@ Foam::Ostream& Foam::operator<<
const InfoProxy<blockDescriptor>& iproxy
)
{
const blockDescriptor& bd = iproxy.t_;
const auto& bd = *iproxy;
os << "Dimensions:" << bd.density()
<< " nPoints:" << bd.nPoints()

View File

@ -55,8 +55,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef blockDescriptor_H
#define blockDescriptor_H
#ifndef Foam_blockDescriptor_H
#define Foam_blockDescriptor_H
#include "ijkMesh.H"
#include "cellShape.H"
@ -72,6 +72,14 @@ SourceFiles
namespace Foam
{
// Forward Declarations
class blockDescriptor;
Ostream& operator<<(Ostream&, const blockDescriptor&);
Ostream& operator<<(Ostream&, const InfoProxy<blockDescriptor>&);
/*---------------------------------------------------------------------------*\
Class blockDescriptor Declaration
\*---------------------------------------------------------------------------*/
@ -261,21 +269,12 @@ public:
//- Write block index with dictionary lookup
static void write(Ostream&, const label blocki, const dictionary&);
//- Return info proxy
InfoProxy<blockDescriptor> info() const
{
return *this;
}
//- Return info proxy,
//- used to print information to a stream
InfoProxy<blockDescriptor> info() const noexcept { return *this; }
};
//- Output Operator
Ostream& operator<<(Ostream& os, const blockDescriptor& bd);
//- Info output
Ostream& operator<<(Ostream& os, const InfoProxy<blockDescriptor>& info);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam

View File

@ -461,10 +461,10 @@ bool Foam::coordSetWriter::merge() const
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<coordSetWriter>& ip
const InfoProxy<coordSetWriter>& iproxy
)
{
const coordSetWriter& w = ip.t_;
const auto& w = *iproxy;
os << "coordSetWriter:"
<< " upToDate: " << w.upToDate_

View File

@ -538,7 +538,8 @@ public:
// Other
//- Return info proxy.
//- Return info proxy,
//- used to print information to a stream
virtual InfoProxy<coordSetWriter> info() const
{
return *this;
@ -548,7 +549,7 @@ public:
friend Ostream& operator<<
(
Ostream& os,
const InfoProxy<coordSetWriter>& ip
const InfoProxy<coordSetWriter>& iproxy
);

View File

@ -111,10 +111,10 @@ Foam::Ostream& Foam::operator<<(Ostream& os, const surfaceLocation& sl)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<surfaceLocation>& ip
const InfoProxy<surfaceLocation>& iproxy
)
{
const surfaceLocation& sl = ip.t_;
const auto& sl = *iproxy;
os << "coord:" << sl.point();

View File

@ -45,8 +45,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef surfaceLocation_H
#define surfaceLocation_H
#ifndef Foam_surfaceLocation_H
#define Foam_surfaceLocation_H
#include "pointIndexHit.H"
#include "triangle.H"
@ -63,8 +63,10 @@ class triSurface;
Istream& operator>>(Istream&, surfaceLocation&);
Ostream& operator<<(Ostream&, const surfaceLocation&);
Ostream& operator<<(Ostream&, const InfoProxy<surfaceLocation>&);
/*---------------------------------------------------------------------------*\
Class surfaceLocation Declaration
\*---------------------------------------------------------------------------*/
@ -139,11 +141,9 @@ public:
//- Normal. Approximate for points.
vector normal(const triSurface& s) const;
//- Return info proxy, to print information to a stream
InfoProxy<surfaceLocation> info() const
{
return *this;
}
//- Return info proxy,
//- to print information to a stream
InfoProxy<surfaceLocation> info() const noexcept { return *this; }
//- Write info about selected face index to a stream
void write(Ostream& os, const triSurface& s) const;
@ -154,12 +154,6 @@ public:
friend Istream& operator>>(Istream& is, surfaceLocation& sl);
friend Ostream& operator<<(Ostream& os, const surfaceLocation& sl);
friend Ostream& operator<<
(
Ostream& os,
const InfoProxy<surfaceLocation>& ip
);
};

View File

@ -741,16 +741,16 @@ void Foam::cellCellStencil::walkFront
}
// * * * * * * * * * * * * * Ostream operator * * * * * * * * * * * * * * * //
// * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * * * //
template<>
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<cellCellStencil>& ic
const InfoProxy<cellCellStencil>& iproxy
)
{
const cellCellStencil& e = ic.t_;
const auto& e = *iproxy;
const labelUList& cellTypes = e.cellTypes();
const labelUList& interpolationCells = e.interpolationCells();
@ -825,4 +825,5 @@ Foam::Ostream& Foam::operator<<
return os;
}
// ************************************************************************* //

View File

@ -40,8 +40,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef cellCellStencil_H
#define cellCellStencil_H
#ifndef Foam_cellCellStencil_H
#define Foam_cellCellStencil_H
#include "scalarList.H"
#include "mapDistribute.H"
@ -53,8 +53,14 @@ SourceFiles
namespace Foam
{
// Forward Declarations
class cellCellStencil;
class mapDistribute;
template<>
Ostream& operator<<(Ostream&, const InfoProxy<cellCellStencil>&);
/*---------------------------------------------------------------------------*\
Class cellCellStencil Declaration
\*---------------------------------------------------------------------------*/
@ -265,13 +271,6 @@ public:
template<class GeoField, class SuppressBC>
static void correctBoundaryConditions(GeoField& psi);
//- Return info proxy.
//- Used to print stencil information to a stream
InfoProxy<cellCellStencil> info() const
{
return *this;
}
//- Surround holes with layer(s) of interpolated cells
void walkFront
(
@ -310,10 +309,15 @@ public:
bitSet& isFront,
scalarField& fraction
) const;
// Write
//- Return info proxy,
//- used to print stencil information to a stream
InfoProxy<cellCellStencil> info() const noexcept { return *this; }
};
template<>
Ostream& operator<<(Ostream& os, const InfoProxy<cellCellStencil>& ic);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -744,10 +744,10 @@ defineSurfaceFieldMethods(Foam::surfaceWriter, Foam::tensor)
Foam::Ostream& Foam::operator<<
(
Ostream& os,
const InfoProxy<surfaceWriter>& ip
const InfoProxy<surfaceWriter>& iproxy
)
{
const surfaceWriter& w = ip.t_;
const auto& w = *iproxy;
os << "surfaceWriter:"
<< " upToDate: " << w.upToDate_

View File

@ -611,8 +611,9 @@ public:
// Other IO
//- Return info proxy.
virtual InfoProxy<surfaceWriter> info() const
//- Return info proxy,
//- used to print information to a stream
virtual InfoProxy<surfaceWriter> info() const noexcept
{
return *this;
}
@ -621,7 +622,7 @@ public:
friend Ostream& operator<<
(
Ostream& os,
const InfoProxy<surfaceWriter>& ip
const InfoProxy<surfaceWriter>& iproxy
);