--- /dev/null
+Fixed: Forward declarations in header files are prevented from confusing
+doxygen.
+<br>
+(Reza Rastak, 2019/08/16)
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class ParameterHandler;
+#endif
namespace Algorithms
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class ParameterHandler;
+#endif
namespace Algorithms
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class ParameterHandler;
+#endif
namespace Algorithms
{
DEAL_II_NAMESPACE_OPEN
// Forward declarations
+#ifndef DOXYGEN
template <typename T>
struct EnableIfScalar;
template <typename T, typename U>
struct ProductType;
+#endif
#ifndef DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS
/**
DEAL_II_NAMESPACE_OPEN
-
+// Forward declarations
+#ifndef DOXYGEN
class ParameterHandler;
class XDMFEntry;
+#endif
/**
* This is a base class for output of data on meshes of very general form.
DEAL_II_NAMESPACE_OPEN
-
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
template <int rank, int dim, typename Number>
class TensorFunction;
+#endif
/**
* This class is a model for a general function that, given a point at which
DEAL_II_NAMESPACE_OPEN
-
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class Vector;
-
+#endif
/**
* This class implements a function object that gets its value by parsing a
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename number>
class Vector;
+#endif
namespace Functions
{
DEAL_II_NAMESPACE_OPEN
-// Forward declarations
+// Forward declaration
+#ifndef DOXYGEN
template <typename Iterator>
class IteratorOverIterators;
-
+#endif
/**
} // namespace internal
// forward declarations to support abs or sqrt operations on VectorizedArray
+#ifndef DOXYGEN
template <typename Number,
int width =
internal::VectorizedArrayWidthSpecifier<Number>::max_width>
class VectorizedArray;
template <typename T>
struct EnableIfScalar;
+#endif
DEAL_II_NAMESPACE_CLOSE
DEAL_II_NAMESPACE_OPEN
// forward declarations for interfaces and friendship
+#ifndef DOXYGEN
class LogStream;
class MultipleParameterLoop;
+#endif
/**
* The ParameterHandler class provides a standard interface to an input file
DEAL_II_NAMESPACE_OPEN
// forward declarations for interfaces and friendship
+#ifndef DOXYGEN
class LogStream;
class MultipleParameterLoop;
template <int dim>
class FunctionParser;
+#endif
/**
* Namespace for a few classes that act as patterns for the ParameterHandler
// Forward declaration of class ScaLAPACKMatrix for ProcessGrid
+# ifndef DOXYGEN
template <typename NumberType>
class ScaLAPACKMatrix;
-
+# endif
namespace Utilities
{
DEAL_II_NAMESPACE_OPEN
// forward declaration
+#ifndef DOXYGEN
template <int N, typename T>
class TableBase;
template <int N, typename T>
class Table<5, T>;
template <typename T>
class Table<6, T>;
+#endif
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class TableHandler;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
// forward declare Point
+#ifndef DOXYGEN
template <int dim, typename Number>
class Point;
+#endif
/**
* A namespace for utility functions that are not particularly specific to
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+# ifndef DOXYGEN
namespace parallel
{
namespace distributed
class Triangulation;
}
} // namespace parallel
-
+# endif
namespace internal
{
#ifdef DEAL_II_WITH_P4EST
+// Forward declarations
+# ifndef DOXYGEN
namespace internal
{
namespace DoFHandlerImplementation
template <typename CellIterator>
struct PeriodicFacePair;
}
+# endif
namespace parallel
{
DEAL_II_NAMESPACE_OPEN
// Forward declarations
-
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
namespace hp
template <int dim, int spacedim>
class DoFHandler;
}
+#endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int spacedim, typename RangeNumberType>
class Function;
-
+#endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class FullMatrix;
template <typename number>
template <int, int>
class FiniteElement;
-
namespace internal
{
namespace DoFCellAccessorImplementation
}
} // namespace hp
} // namespace internal
+#endif
// note: the file dof_accessor.templates.h is included at the end of
// this file. this includes a lot of templates and thus makes
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class FiniteElement;
template <int dim, int spacedim>
struct Implementation;
}
} // namespace internal
-
+#endif
/**
* Given a triangulation and a description of a finite element, this
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+# ifndef DOXYGEN
template <int, int>
class DoFHandler;
-
+# endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int, int, int>
class DoFInvalidAccessor;
class TriaIterator;
template <typename Accessor>
class TriaActiveIterator;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int, int>
class DoFHandler;
+#endif
namespace internal
{
namespace DoFHandlerImplementation
{
+#ifndef DOXYGEN
template <int>
class DoFLevel;
template <int>
class DoFFaces;
-
+#endif
/**
* Store the indices of the degrees of freedom which are located on
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
class BlockMask;
template <int dim, typename RangeNumberType>
class Function;
template <typename CellIterator>
struct PeriodicFacePair;
}
-
+#endif
/**
* This is a collection of functions operating on, and manipulating the
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class MappingQ;
template <int dim>
class Quadrature;
+#endif
/*!@addtogroup fe */
/*@{*/
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+# ifndef DOXYGEN
template <int dim, int spacedim>
class FE_Enriched;
-
+# endif
/**
* This class provides an interface to group several elements together into
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class FullMatrix;
template <int dim>
class FiniteElementData;
template <typename number>
class AffineConstraints;
-
+#endif
/*!@addtogroup feall */
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int, int>
class FiniteElement;
-
+#endif
/*!@addtogroup feaccess */
/*@{*/
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim = dim>
class FEValuesBase;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int, int>
class Triangulation;
+#endif
/**
* A class to represent a unique ID for a cell in a Triangulation. It is
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int space_dim>
class Triangulation;
template <int dim>
struct CellData;
+#endif
/**
* This class implements an input mechanism for grid data. It allows to read a
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
class ParameterHandler;
template <int dim, int spacedim>
class Triangulation;
template <int dim, int spacedim>
class Mapping;
+#endif
/**
DEAL_II_NAMESPACE_OPEN
// forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class Triangulation;
template <typename Number>
class Vector;
+#endif
/**
* This namespace provides a collection of functions that aid in refinement
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
namespace parallel
{
namespace distributed
}
class SparsityPattern;
+# endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
// forward declaration
+#ifndef DOXYGEN
template <int, typename>
class Table;
+#endif
/**
* We collect here some helper functions used in the Manifold<dim,spacedim>
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class Manifold;
template <int dim, int spacedim>
class DoFHandler;
}
-
+#endif
/*------------------------------------------------------------------------*/
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class Triangulation;
template <typename Accessor>
template <int dim, int spacedim>
class Manifold;
-
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
namespace parallel
{
template <int, int>
class Triangulation;
}
+#endif
/*--------------------- Functions: TriaAccessorBase -------------------------*/
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
template <int dim, int spacedim>
class Triangulation;
template <int, int, int>
class TriaIterator;
template <typename>
class TriaActiveIterator;
+# endif
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class CellAccessor;
template <int, int, int>
class TriaIterator;
template <typename Accessor>
class TriaActiveIterator;
+#endif
namespace internal
{
// bool and then an integer and then a double, etc. Verify that this is
// actually the case.
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class Triangulation;
template <class Accessor>
class TriaRawIterator;
template <int, int, int>
class TriaAccessor;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class Triangulation;
struct Implementation;
}
} // namespace internal
-
+#endif
namespace hp
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
namespace hp
{
template <int, int>
struct Implementation;
}
} // namespace internal
+#endif
namespace internal
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim>
class FiniteElement;
-
+#endif
namespace internal
DEAL_II_NAMESPACE_OPEN
// forward declarations
+#ifndef DOXYGEN
template <typename Number>
class Vector;
template <int dim, int spacedim>
class DoFHandler;
}
+#endif
namespace hp
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename>
class FullMatrix;
class SparsityPattern;
template <typename number>
class AffineConstraints;
+#endif
/**
* ConstraintMatrix has been renamed to AffineConstraints. Provide a
DEAL_II_NAMESPACE_OPEN
// Forward declarations:
-
+#ifndef DOXYGEN
namespace internal
{
namespace BlockLinearOperatorImplementation
typename BlockPayload =
internal::BlockLinearOperatorImplementation::EmptyBlockPayload<>>
class BlockLinearOperator;
+#endif
template <typename Range = BlockVector<double>,
typename Domain = Range,
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class MatrixIterator;
-
+#endif
/*! @addtogroup Matrix1
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename Number>
class BlockVector;
+#endif
/*! @addtogroup Matrix1
*@{
DEAL_II_NAMESPACE_OPEN
-
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class BlockSparseMatrix;
class BlockDynamicSparsityPattern;
+#endif
/*! @addtogroup Sparsity
*@{
DEAL_II_NAMESPACE_OPEN
-#ifdef DEAL_II_WITH_TRILINOS
+// Forward declaration
+#ifndef DOXYGEN
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
namespace MPI
class BlockVector;
}
} // namespace TrilinosWrappers
+# endif
#endif
*@{
*/
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class BlockVectorBase;
-
+#endif
/**
* A class that can be used to determine whether a given type is a block
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class FullMatrix;
+# endif
/*! @addtogroup Matrix1
*@{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class ChunkSparseMatrix;
-
+#endif
/*! @addtogroup Sparsity
*@{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class IndexSet;
+#endif
namespace LinearAlgebra
{
DEAL_II_NAMESPACE_OPEN
// forward-definition
+# ifndef DOXYGEN
namespace LinearAlgebra
{
namespace CUDAWrappers
class Vector;
}
} // namespace LinearAlgebra
+# endif
namespace CUDAWrappers
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
class CommunicationPatternBase;
template <typename Number>
class ReadWriteVector;
+# endif
namespace LinearAlgebra
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class DynamicSparsityPattern;
+#endif
/*! @addtogroup Sparsity
*@{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+# ifndef DOXYGEN
template <class VectorType>
class FilteredMatrixBlock;
+# endif
/*! @addtogroup Matrix2
*@{
// forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class LAPACKFullMatrix;
-
+#endif
/*! @addtogroup Matrix1
*@{
// forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
-
+#endif
/*! @addtogroup Matrix2
*@{
DEAL_II_NAMESPACE_OPEN
-#ifdef DEAL_II_WITH_PETSC
+// Forward declarations
+#ifndef DOXYGEN
+# ifdef DEAL_II_WITH_PETSC
namespace PETScWrappers
{
namespace MPI
class BlockVector;
}
} // namespace PETScWrappers
-#endif
+# endif
-#ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
namespace MPI
class BlockVector;
}
} // namespace TrilinosWrappers
+# endif
#endif
namespace LinearAlgebra
// Forward type declaration to have special treatment of
// LAPACKFullMatrix<number>
// in multivector_inner_product()
+#ifndef DOXYGEN
template <typename Number>
class LAPACKFullMatrix;
+#endif
namespace LinearAlgebra
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
namespace LinearAlgebra
{
/**
class ReadWriteVector;
} // namespace LinearAlgebra
-#ifdef DEAL_II_WITH_PETSC
+# ifdef DEAL_II_WITH_PETSC
namespace PETScWrappers
{
namespace MPI
class Vector;
}
} // namespace PETScWrappers
-#endif
+# endif
-#ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
namespace MPI
class Vector;
}
} // namespace TrilinosWrappers
+# endif
#endif
namespace LinearAlgebra
DEAL_II_NAMESPACE_OPEN
// forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class FullMatrix;
template <typename number>
class SparseMatrix;
-
+#endif
/**
* A variant of FullMatrix using LAPACK functions wherever possible. In order
DEAL_II_NAMESPACE_OPEN
// Forward declarations:
-
+#ifndef DOXYGEN
namespace internal
{
namespace LinearOperatorImplementation
typename Payload =
internal::LinearOperatorImplementation::EmptyPayload>
class LinearOperator;
+#endif
template <
typename Range = Vector<double>,
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename MatrixType>
class MatrixBlock;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class BlockVector;
template <typename number>
class SparseMatrix;
+#endif
/*! @addtogroup Matrix2
*@{
DEAL_II_NAMESPACE_OPEN
// Forward declarations:
+#ifndef DOXYGEN
template <typename Number>
class Vector;
template <typename Range, typename Domain, typename Payload>
class LinearOperator;
template <typename Range = Vector<double>>
class PackagedOperation;
+#endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
template <typename Matrix>
class BlockMatrixBase;
+# endif
namespace PETScWrappers
namespace PETScWrappers
{
// forward declarations
+# ifndef DOXYGEN
class MatrixBase;
class VectorBase;
class SolverBase;
-
+# endif
/**
* Base class for preconditioner classes using the PETSc functionality. The
DEAL_II_NAMESPACE_OPEN
-# ifdef DEAL_II_WITH_SLEPC
+// Forward declarations
+# ifndef DOXYGEN
+# ifdef DEAL_II_WITH_SLEPC
namespace SLEPcWrappers
{
// forward declarations
class TransformationBase;
} // namespace SLEPcWrappers
+# endif
# endif
namespace PETScWrappers
{
// forward declarations
+# ifndef DOXYGEN
class MatrixBase;
class VectorBase;
class PreconditionerBase;
+# endif
/**
DEAL_II_NAMESPACE_OPEN
// forward declaration
+# ifndef DOXYGEN
template <typename MatrixType>
class BlockMatrixBase;
-
+# endif
namespace PETScWrappers
{
DEAL_II_NAMESPACE_OPEN
// forward declaration
+# ifndef DOXYGEN
template <typename number>
class Vector;
+namespace PETScWrappers
+{
+ class VectorBase;
+}
+# endif
/**
* A namespace in which wrapper classes for PETSc objects reside.
*/
namespace PETScWrappers
{
- // forward declaration
- class VectorBase;
-
/**
* @cond internal
*/
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename VectorType>
class VectorMemory;
class TridiagonalMatrix;
template <typename number, typename BlockVectorType>
class BlockMatrixArray;
+#endif
/*! @addtogroup Matrix2
*@{
DEAL_II_NAMESPACE_OPEN
// forward declarations
-
+#ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class Vector;
} // namespace distributed
} // namespace LinearAlgebra
-
+#endif
/*! @addtogroup Preconditioners
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class FullMatrix;
template <typename number>
class Vector;
+#endif
/**
* A class storing the inverse diagonal blocks for block preconditioners and
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <class number>
class Vector;
template <class number>
class SparseMatrix;
+#endif
/*! @addtogroup Preconditioners
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
namespace LinearAlgebra
{
class CommunicationPatternBase;
} // namespace distributed
} // namespace LinearAlgebra
-#ifdef DEAL_II_WITH_PETSC
+# ifdef DEAL_II_WITH_PETSC
namespace PETScWrappers
{
namespace MPI
class Vector;
}
} // namespace PETScWrappers
-#endif
+# endif
-#ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
namespace MPI
class Vector;
}
} // namespace TrilinosWrappers
-#endif
+# endif
-#ifdef DEAL_II_WITH_CUDA
+# ifdef DEAL_II_WITH_CUDA
namespace LinearAlgebra
{
namespace CUDAWrappers
class Vector;
}
} // namespace LinearAlgebra
+# endif
#endif
namespace LinearAlgebra
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+# ifndef DOXYGEN
namespace PETScWrappers
{
// forward declarations
class SolverBase;
} // namespace PETScWrappers
+# endif
namespace SLEPcWrappers
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename number>
class Vector;
+#endif
/**
* A base class for iterative linear solvers. This class provides interfaces
DEAL_II_NAMESPACE_OPEN
// forward declaration
+#ifndef DOXYGEN
class PreconditionIdentity;
+#endif
/*!@addtogroup Solvers */
DEAL_II_NAMESPACE_OPEN
+#ifndef DOXYGEN
class ParameterHandler;
+#endif
/*!@addtogroup Solvers */
/*@{*/
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class BlockMatrixBase;
template <typename number>
class SparseILU;
-# ifdef DEAL_II_WITH_MPI
+# ifdef DEAL_II_WITH_MPI
namespace Utilities
{
namespace MPI
sum(const SparseMatrix<Number> &, const MPI_Comm &, SparseMatrix<Number> &);
}
} // namespace Utilities
-# endif
+# endif
-# ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
class SparseMatrix;
}
+# endif
# endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
template <typename number>
class Vector;
template <typename number>
class FullMatrix;
+# endif
/**
* @addtogroup Matrix1
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename number>
class FullMatrix;
template <typename number>
class SparseVanka;
template <typename number>
class SparseBlockVanka;
+#endif
/*! @addtogroup Preconditioners
*@{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
class SparsityPattern;
class SparsityPatternBase;
class DynamicSparsityPattern;
{
class Accessor;
}
-
+#endif
/*! @addtogroup Sparsity
*@{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <typename>
class Vector;
template <typename>
class FullMatrix;
+#endif
/**
* This is an abstract base class used for a special matrix class, namely the
DEAL_II_NAMESPACE_OPEN
// forward declarations
+#ifndef DOXYGEN
template <typename number>
class Vector;
-
+#endif
/*! @addtogroup Matrix1
*@{
DEAL_II_NAMESPACE_OPEN
// forward declarations
+# ifndef DOXYGEN
class BlockSparsityPattern;
template <typename number>
class BlockSparseMatrix;
-
+# endif
namespace TrilinosWrappers
{
namespace TrilinosWrappers
{
// Forward declarations:
+# ifndef DOXYGEN
class SparseMatrix;
class PreconditionBase;
class BlockSparseMatrix;
class TrilinosBlockPayload;
}
} // namespace internal
-
+# endif
/**
* @name Creation of a LinearOperator
DEAL_II_NAMESPACE_OPEN
// forward declaration
+# ifndef DOXYGEN
template <typename Number>
class BlockVectorBase;
-/*! @addtogroup TrilinosWrappers
- *@{
- */
-
namespace TrilinosWrappers
{
// forward declaration
class BlockVector;
}
class BlockSparseMatrix;
+} // namespace TrilinosWrappers
+# endif
+/*! @addtogroup TrilinosWrappers
+ *@{
+ */
+namespace TrilinosWrappers
+{
namespace MPI
{
/**
# include <Teuchos_ParameterList.hpp>
// forward declarations
+# ifndef DOXYGEN
class Ifpack_Preconditioner;
class Ifpack_Chebyshev;
namespace ML_Epetra
{
class MultiLevelPreconditioner;
}
-
+# endif
DEAL_II_NAMESPACE_OPEN
// forward declarations
+# ifndef DOXYGEN
template <typename number>
class SparseMatrix;
template <typename number>
class Vector;
class SparsityPattern;
+# endif
/*! @addtogroup TrilinosWrappers
*@{
namespace TrilinosWrappers
{
// forward declarations
+# ifndef DOXYGEN
class SparseMatrix;
class PreconditionBase;
+# endif
/**
DEAL_II_NAMESPACE_OPEN
// forward declarations
+# ifndef DOXYGEN
template <typename MatrixType>
class BlockMatrixBase;
class SparsityPattern;
class DynamicSparsityPattern;
-
-
namespace TrilinosWrappers
{
- // forward declarations
class SparseMatrix;
class SparsityPattern;
- /**
- * Iterators for Trilinos matrices
- */
namespace SparseMatrixIterators
{
- // forward declaration
template <bool Constness>
class Iterator;
+ }
+} // namespace TrilinosWrappers
+# endif
+namespace TrilinosWrappers
+{
+ /**
+ * Iterators for Trilinos matrices
+ */
+ namespace SparseMatrixIterators
+ {
/**
* Exception
*/
DEAL_II_NAMESPACE_OPEN
// forward declarations
+# ifndef DOXYGEN
class SparsityPattern;
class DynamicSparsityPattern;
namespace TrilinosWrappers
{
- // forward declarations
class SparsityPattern;
class SparseMatrix;
namespace SparsityPatternIterators
{
- // forward declaration
class Iterator;
+ }
+} // namespace TrilinosWrappers
+# endif
+namespace TrilinosWrappers
+{
+ namespace SparsityPatternIterators
+ {
/**
* Accessor class for iterators into sparsity patterns. This class is also
* the base class for both const and non-const accessor classes into
namespace LinearAlgebra
{
// Forward declaration
+# ifndef DOXYGEN
template <typename Number>
class ReadWriteVector;
+# endif
namespace TpetraWrappers
{
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+# ifndef DOXYGEN
namespace LinearAlgebra
{
// Forward declaration
template <typename Number>
class ReadWriteVector;
} // namespace LinearAlgebra
+# endif
/**
* @addtogroup TrilinosWrappers
DEAL_II_NAMESPACE_OPEN
-#ifdef DEAL_II_WITH_PETSC
+// Forward declarations
+#ifndef DOXYGEN
+# ifdef DEAL_II_WITH_PETSC
namespace PETScWrappers
{
class VectorBase;
}
-#endif
+# endif
-#ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
namespace MPI
class Vector;
}
} // namespace TrilinosWrappers
-#endif
+# endif
template <typename number>
class LAPACKFullMatrix;
class TBBPartitioner;
}
} // namespace parallel
-
+#endif
/*! @addtogroup Vectors
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
class IndexSet;
namespace LinearAlgebra
{
template <typename Number>
class ReadWriteVector;
} // namespace LinearAlgebra
+#endif
namespace LinearAlgebra
{
namespace CUDAWrappers
{
// forward declaration
+# ifndef DOXYGEN
namespace internal
{
template <int dim, typename Number>
class ReinitHelper;
}
+# endif
/**
* This class collects all the data that is stored for the matrix free
{
namespace MatrixFreeFunctions
{
+ // Forward declaration
+#ifndef DOXYGEN
template <typename Number>
struct ConstraintValues;
+#endif
/**
* The class that stores the indices of the degrees of freedom for all the
namespace MeshWorker
{
+ // Forward declaration
+#ifndef DOXYGEN
template <int dim, class DOFINFO>
class DoFInfoBox;
-
+#endif
/**
* A class containing information on geometry and degrees of freedom of a
namespace MeshWorker
{
+ // Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim, typename number>
class DoFInfo;
template <int dim, int spacedim>
class IntegrationInfo;
+#endif
/**
* A local integrator object, which can be used to simplify the call of
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
class BlockIndices;
+#endif
/**
* A collection of functions and classes for the mesh loops that are an
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class TriaActiveIterator;
+#endif
namespace internal
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <typename>
class TriaActiveIterator;
+#endif
namespace MeshWorker
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int, int>
class FEValuesBase;
+#endif
namespace MeshWorker
{
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
+#endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
class MGConstrainedDoFs;
+#endif
/* !@addtogroup mg */
/* @{ */
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
+#endif
/*
* MGTransferBase is defined in mg_base.h
DEAL_II_NAMESPACE_OPEN
-
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
+#endif
/*
* MGTransferBase is defined in mg_base.h
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
template <int dim, int spacedim>
class DoFHandler;
+#endif
/**
* This class is used to stack the output from several computations into one
DEAL_II_NAMESPACE_OPEN
-
+// Forward declarations
+#ifndef DOXYGEN
template <int, int>
class Mapping;
template <int>
template <int>
class QCollection;
}
-
+#endif
/**
DEAL_II_NAMESPACE_OPEN
+// Forward declaration
+#ifndef DOXYGEN
namespace VectorTools
{
class ExcPointNotAvailableHere;
}
+#endif
namespace Functions
{
// forward declarations
+#ifndef DOXYGEN
template <int dim>
class Quadrature;
} // namespace hp
-#ifdef DEAL_II_WITH_PETSC
+# ifdef DEAL_II_WITH_PETSC
namespace PETScWrappers
{
class MatrixBase;
class BlockVector;
} // namespace MPI
} // namespace PETScWrappers
-#endif
+# endif
-#ifdef DEAL_II_WITH_TRILINOS
+# ifdef DEAL_II_WITH_TRILINOS
namespace TrilinosWrappers
{
class SparseMatrix;
class BlockVector;
} // namespace MPI
} // namespace TrilinosWrappers
+# endif
#endif
DEAL_II_NAMESPACE_OPEN
// forward declarations
+# ifndef DOXYGEN
class TimeStepBase;
template <typename number>
class Vector;
template <int dim, int spacedim>
class Triangulation;
+# endif
/**
* This class provides an abstract interface to time dependent problems in
DEAL_II_NAMESPACE_OPEN
+// Forward declarations
+#ifndef DOXYGEN
template <int dim, typename RangeNumberType>
class Function;
template <int dim>
}
template <typename number>
class AffineConstraints;
-
+#endif
// TODO: Move documentation of functions to the functions!
namespace Particles
{
+ // Forward declarations
+#ifndef DOXYGEN
template <int, int>
class ParticleIterator;
template <int, int>
class ParticleHandler;
+#endif
/**
* Accessor class used by ParticleIterator to access particle data.
namespace Particles
{
+ // Forward declaration
+#ifndef DOXYGEN
template <int, int>
class ParticleHandler;
+#endif
/**
* A class that is used to iterate over particles. Together with the