Foam::Detail Namespace Reference

Implementation details for various OpenFOAM classes. More...

Namespaces

 ListPolicy
 Additional compile-time controls of List behaviour.
 

Classes

class  HashTablePair
 Internal storage type for HashTable entries. More...
 
struct  HashTableSingle
 Internal storage type for HashSet entries. More...
 
class  ICharStreamAllocator
 An allocator for holding Foam::icharstream. More...
 
class  ISpanStreamAllocator
 An allocator for holding Foam::ispanstream. More...
 
struct  isPointerLike
 Pointer-like behaviour. More...
 
struct  isPointerLike< autoPtr< T > >
 Pointer-like behaviour for autoPtr. More...
 
struct  isPointerLike< std::unique_ptr< T > >
 Pointer-like behaviour for std::unique_ptr. More...
 
class  MeshedSurfaceIOAllocator
 A helper class for storing points and faces with IO capabilities. More...
 
class  OCharStreamAllocator
 An allocator for holding Foam::ocharstream. More...
 
class  OCountStreamAllocator
 An allocator for holding Foam::ocountstream. More...
 
class  OSHA1streamAllocator
 An allocator for holding Foam::osha1stream. More...
 
class  OSpanStreamAllocator
 An allocator for holding Foam::ospanstream. More...
 
class  PackedListCore
 Template-invariant parts for PackedList. More...
 
class  parcelSelection
 Selection of parcels based on their objectRegistry entries. Normally accessed via a dictionary entry. More...
 
class  PtrListDetail
 A rudimentary list of pointers used for PtrList, UPtrList, etc. This class is considered implementation detail and should not normally be used other than by OpenFOAM container classes. More...
 
class  STLAsciiParse
 Internal class used when parsing STL ASCII format. More...
 
class  STLAsciiParseManual
 A lexer for parsing STL ASCII files. More...
 
class  StringStreamAllocator
 Allocator for variants of a std stringstream. More...
 
class  zoneSubSet
 

Functions

 defineTypeNameAndDebug (zoneSubSet, 0)
 
 defineTypeName (PackedListCore)
 
template<class IS >
void inputLoop (IS &)
 Termination for input looping (no-op) More...
 
template<class OS >
void outputLoop (OS &)
 Termination for output looping (no-op) More...
 
template<class IS , class Type , class... Args>
void inputLoop (IS &is, Type &arg1, Args &&... args)
 Input looping. Read into first parameter and recurse. More...
 
template<class OS , class Type , class... Args>
void outputLoop (OS &os, const Type &arg1, Args &&... args)
 Output looping. Write first parameter and recurse. More...
 
template<class T >
void readContiguous (Istream &is, char *data, std::streamsize byteCount)
 Read binary block of contiguous data, possibly with conversion. More...
 
template<class Type , template< class > class PatchField, class GeoMesh >
bool reusable (const tmp< GeometricField< Type, PatchField, GeoMesh >> &tfld)
 True if tmp GeometricField has a reusable pointer. More...
 
template<class PointList , class IndexerOp >
label mergePoints (const PointList &points, const IndexerOp &indexer, const label nSubPoints, labelList &pointToUnique, labelList &uniquePoints, const scalar mergeTol, const bool verbose)
 Implementation detail for Foam::mergePoints. More...
 
template<class T >
std::enable_if< !std::is_same< complex, T >::value, const T &>::type conj (const T &val)
 The 'conjugate' of non-complex returns itself (pass-through) it does not return a complex! More...
 
template<class T >
std::enable_if< std::is_same< complex, T >::value, complex >::type conj (const T &val)
 The conjugate of a complex number. More...
 

Detailed Description

Implementation details for various OpenFOAM classes.

Function Documentation

◆ defineTypeNameAndDebug()

Foam::Detail::defineTypeNameAndDebug ( zoneSubSet  ,
 
)

◆ defineTypeName()

Foam::Detail::defineTypeName ( PackedListCore  )

◆ inputLoop() [1/2]

void Foam::Detail::inputLoop ( IS &  )
inline

Termination for input looping (no-op)

Definition at line 578 of file IOstream.H.

Referenced by Pstream::broadcasts(), and inputLoop().

Here is the caller graph for this function:

◆ outputLoop() [1/2]

void Foam::Detail::outputLoop ( OS &  )
inline

Termination for output looping (no-op)

Definition at line 583 of file IOstream.H.

Referenced by Pstream::broadcasts(), and outputLoop().

Here is the caller graph for this function:

◆ inputLoop() [2/2]

void Foam::Detail::inputLoop ( IS &  is,
Type &  arg1,
Args &&...  args 
)
inline

Input looping. Read into first parameter and recurse.

Definition at line 589 of file IOstream.H.

References args, and inputLoop().

Here is the call graph for this function:

◆ outputLoop() [2/2]

void Foam::Detail::outputLoop ( OS &  os,
const Type &  arg1,
Args &&...  args 
)
inline

Output looping. Write first parameter and recurse.

Definition at line 599 of file IOstream.H.

References args, os(), and outputLoop().

Here is the call graph for this function:

◆ readContiguous()

void Foam::Detail::readContiguous ( Istream is,
char *  data,
std::streamsize  byteCount 
)

Read binary block of contiguous data, possibly with conversion.

Definition at line 304 of file Istream.H.

References Istream::beginRawRead(), Istream::endRawRead(), Istream::readRaw(), and Foam::readRawLabel().

Here is the call graph for this function:

◆ reusable()

bool Foam::Detail::reusable ( const tmp< GeometricField< Type, PatchField, GeoMesh >> &  tfld)
inline

◆ mergePoints()

label Foam::Detail::mergePoints ( const PointList &  points,
const IndexerOp &  indexer,
const label  nSubPoints,
labelList pointToUnique,
labelList uniquePoints,
const scalar  mergeTol,
const bool  verbose 
)

Implementation detail for Foam::mergePoints.

The implementation algorithm is provided with an indexer functor to map the subset of points to be merged into the full list. if passed the identityOp this is the same as merging all points.

Returns
Number of point duplicates removed by merging.
Parameters
pointsThe input of all (unmerged) points
indexerIndexer for sub-points into all points
nSubPointsThe number of sub-points
pointToUniqueAn old-to-new mapping
uniquePointsList of unique points from full list
mergeTolGeometric merge tolerance
verboseDebug verbosity

◆ conj() [1/2]

std::enable_if< !std::is_same<complex, T>::value, const T& >::type Foam::Detail::conj ( const T val)

The 'conjugate' of non-complex returns itself (pass-through) it does not return a complex!

Definition at line 405 of file complex.H.

Referenced by Foam::operator &(), Foam::operator^(), and Matrix< RectangularMatrix< Type >, Type >::T().

Here is the caller graph for this function:

◆ conj() [2/2]

std::enable_if< std::is_same<complex, T>::value, complex >::type Foam::Detail::conj ( const T val)

The conjugate of a complex number.

Definition at line 418 of file complex.H.