From: Reza Rastak Date: Sat, 17 Aug 2019 00:56:07 +0000 (-0700) Subject: forward declatations removed from doxygen in all header files X-Git-Tag: v9.2.0-rc1~1228^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc5244cfd9aa4237468e37efd0134c434eb46515;p=dealii.git forward declatations removed from doxygen in all header files --- diff --git a/doc/news/changes/minor/20190816RezaRastak b/doc/news/changes/minor/20190816RezaRastak new file mode 100644 index 0000000000..734801d829 --- /dev/null +++ b/doc/news/changes/minor/20190816RezaRastak @@ -0,0 +1,4 @@ +Fixed: Forward declarations in header files are prevented from confusing +doxygen. +
+(Reza Rastak, 2019/08/16) diff --git a/include/deal.II/algorithms/newton.h b/include/deal.II/algorithms/newton.h index 6ce405552f..0958fbe3bd 100644 --- a/include/deal.II/algorithms/newton.h +++ b/include/deal.II/algorithms/newton.h @@ -26,7 +26,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class ParameterHandler; +#endif namespace Algorithms { diff --git a/include/deal.II/algorithms/theta_timestepping.h b/include/deal.II/algorithms/theta_timestepping.h index 3057c9a700..e440b3c323 100644 --- a/include/deal.II/algorithms/theta_timestepping.h +++ b/include/deal.II/algorithms/theta_timestepping.h @@ -24,7 +24,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class ParameterHandler; +#endif namespace Algorithms { diff --git a/include/deal.II/algorithms/timestep_control.h b/include/deal.II/algorithms/timestep_control.h index 585f01e3bd..3c01dcbbc0 100644 --- a/include/deal.II/algorithms/timestep_control.h +++ b/include/deal.II/algorithms/timestep_control.h @@ -26,7 +26,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class ParameterHandler; +#endif namespace Algorithms { diff --git a/include/deal.II/base/complex_overloads.h b/include/deal.II/base/complex_overloads.h index a54acced40..75eaf842ee 100644 --- a/include/deal.II/base/complex_overloads.h +++ b/include/deal.II/base/complex_overloads.h @@ -23,10 +23,12 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations +#ifndef DOXYGEN template struct EnableIfScalar; template struct ProductType; +#endif #ifndef DEAL_II_HAVE_COMPLEX_OPERATOR_OVERLOADS /** diff --git a/include/deal.II/base/data_out_base.h b/include/deal.II/base/data_out_base.h index 0282b5baa8..0c91ef2e9c 100644 --- a/include/deal.II/base/data_out_base.h +++ b/include/deal.II/base/data_out_base.h @@ -47,9 +47,11 @@ 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. diff --git a/include/deal.II/base/function.h b/include/deal.II/base/function.h index d15b4db62e..813508ab99 100644 --- a/include/deal.II/base/function.h +++ b/include/deal.II/base/function.h @@ -31,11 +31,13 @@ DEAL_II_NAMESPACE_OPEN - +// Forward declarations +#ifndef DOXYGEN template class Vector; template class TensorFunction; +#endif /** * This class is a model for a general function that, given a point at which diff --git a/include/deal.II/base/function_parser.h b/include/deal.II/base/function_parser.h index 38f23857d0..b19e290831 100644 --- a/include/deal.II/base/function_parser.h +++ b/include/deal.II/base/function_parser.h @@ -36,10 +36,11 @@ namespace mu DEAL_II_NAMESPACE_OPEN - +// Forward declaration +#ifndef DOXYGEN template class Vector; - +#endif /** * This class implements a function object that gets its value by parsing a diff --git a/include/deal.II/base/incremental_function.h b/include/deal.II/base/incremental_function.h index 7ca4d13399..664f8a458b 100644 --- a/include/deal.II/base/incremental_function.h +++ b/include/deal.II/base/incremental_function.h @@ -22,8 +22,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class Vector; +#endif namespace Functions { diff --git a/include/deal.II/base/iterator_range.h b/include/deal.II/base/iterator_range.h index ca862322f6..2f85734ab9 100644 --- a/include/deal.II/base/iterator_range.h +++ b/include/deal.II/base/iterator_range.h @@ -27,10 +27,11 @@ DEAL_II_NAMESPACE_OPEN -// Forward declarations +// Forward declaration +#ifndef DOXYGEN template class IteratorOverIterators; - +#endif /** diff --git a/include/deal.II/base/numbers.h b/include/deal.II/base/numbers.h index e264687af3..6fde877afc 100644 --- a/include/deal.II/base/numbers.h +++ b/include/deal.II/base/numbers.h @@ -126,12 +126,14 @@ namespace internal } // namespace internal // forward declarations to support abs or sqrt operations on VectorizedArray +#ifndef DOXYGEN template ::max_width> class VectorizedArray; template struct EnableIfScalar; +#endif DEAL_II_NAMESPACE_CLOSE diff --git a/include/deal.II/base/parameter_handler.h b/include/deal.II/base/parameter_handler.h index cd1340742a..8cf22ea24c 100644 --- a/include/deal.II/base/parameter_handler.h +++ b/include/deal.II/base/parameter_handler.h @@ -36,8 +36,10 @@ 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 diff --git a/include/deal.II/base/patterns.h b/include/deal.II/base/patterns.h index dad46f3ddd..e369cacde0 100644 --- a/include/deal.II/base/patterns.h +++ b/include/deal.II/base/patterns.h @@ -54,10 +54,12 @@ DEAL_II_ENABLE_EXTRA_DIAGNOSTICS DEAL_II_NAMESPACE_OPEN // forward declarations for interfaces and friendship +#ifndef DOXYGEN class LogStream; class MultipleParameterLoop; template class FunctionParser; +#endif /** * Namespace for a few classes that act as patterns for the ParameterHandler diff --git a/include/deal.II/base/process_grid.h b/include/deal.II/base/process_grid.h index 5c733beda2..679b1bba53 100644 --- a/include/deal.II/base/process_grid.h +++ b/include/deal.II/base/process_grid.h @@ -27,9 +27,10 @@ DEAL_II_NAMESPACE_OPEN // Forward declaration of class ScaLAPACKMatrix for ProcessGrid +# ifndef DOXYGEN template class ScaLAPACKMatrix; - +# endif namespace Utilities { diff --git a/include/deal.II/base/table.h b/include/deal.II/base/table.h index 2e60247562..af1d41a065 100644 --- a/include/deal.II/base/table.h +++ b/include/deal.II/base/table.h @@ -31,6 +31,7 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +#ifndef DOXYGEN template class TableBase; template @@ -49,6 +50,7 @@ template class Table<5, T>; template class Table<6, T>; +#endif diff --git a/include/deal.II/base/table_handler.h b/include/deal.II/base/table_handler.h index ab9a79c85d..5ac60692bc 100644 --- a/include/deal.II/base/table_handler.h +++ b/include/deal.II/base/table_handler.h @@ -36,7 +36,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class TableHandler; +#endif namespace internal { diff --git a/include/deal.II/base/utilities.h b/include/deal.II/base/utilities.h index 12d939994e..00442d9d9d 100644 --- a/include/deal.II/base/utilities.h +++ b/include/deal.II/base/utilities.h @@ -61,8 +61,10 @@ DEAL_II_ENABLE_EXTRA_DIAGNOSTICS DEAL_II_NAMESPACE_OPEN // forward declare Point +#ifndef DOXYGEN template class Point; +#endif /** * A namespace for utility functions that are not particularly specific to diff --git a/include/deal.II/distributed/p4est_wrappers.h b/include/deal.II/distributed/p4est_wrappers.h index 0b827020ce..5f4e228d56 100644 --- a/include/deal.II/distributed/p4est_wrappers.h +++ b/include/deal.II/distributed/p4est_wrappers.h @@ -38,6 +38,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +# ifndef DOXYGEN namespace parallel { namespace distributed @@ -46,7 +48,7 @@ namespace parallel class Triangulation; } } // namespace parallel - +# endif namespace internal { diff --git a/include/deal.II/distributed/tria.h b/include/deal.II/distributed/tria.h index e386d09b5b..539a866608 100644 --- a/include/deal.II/distributed/tria.h +++ b/include/deal.II/distributed/tria.h @@ -56,6 +56,8 @@ DEAL_II_NAMESPACE_OPEN #ifdef DEAL_II_WITH_P4EST +// Forward declarations +# ifndef DOXYGEN namespace internal { namespace DoFHandlerImplementation @@ -83,6 +85,7 @@ namespace GridTools template struct PeriodicFacePair; } +# endif namespace parallel { diff --git a/include/deal.II/dofs/block_info.h b/include/deal.II/dofs/block_info.h index 44c9fa7a9d..22d34a9772 100644 --- a/include/deal.II/dofs/block_info.h +++ b/include/deal.II/dofs/block_info.h @@ -26,7 +26,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations - +#ifndef DOXYGEN template class DoFHandler; namespace hp @@ -34,6 +34,7 @@ namespace hp template class DoFHandler; } +#endif /** diff --git a/include/deal.II/dofs/deprecated_function_map.h b/include/deal.II/dofs/deprecated_function_map.h index f7f2eb6068..522f746001 100644 --- a/include/deal.II/dofs/deprecated_function_map.h +++ b/include/deal.II/dofs/deprecated_function_map.h @@ -22,9 +22,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class Function; - +#endif /** diff --git a/include/deal.II/dofs/dof_accessor.h b/include/deal.II/dofs/dof_accessor.h index 11ef17819c..d0458fdfaa 100644 --- a/include/deal.II/dofs/dof_accessor.h +++ b/include/deal.II/dofs/dof_accessor.h @@ -29,6 +29,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FullMatrix; template @@ -42,7 +44,6 @@ class TriaRawIterator; template class FiniteElement; - namespace internal { namespace DoFCellAccessorImplementation @@ -67,6 +68,7 @@ namespace internal } } // 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 diff --git a/include/deal.II/dofs/dof_handler.h b/include/deal.II/dofs/dof_handler.h index 589afdb192..438d5bff91 100644 --- a/include/deal.II/dofs/dof_handler.h +++ b/include/deal.II/dofs/dof_handler.h @@ -44,6 +44,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FiniteElement; template @@ -73,7 +75,7 @@ namespace internal struct Implementation; } } // namespace internal - +#endif /** * Given a triangulation and a description of a finite element, this diff --git a/include/deal.II/dofs/dof_handler_policy.h b/include/deal.II/dofs/dof_handler_policy.h index 6e144ebff9..9f08546f61 100644 --- a/include/deal.II/dofs/dof_handler_policy.h +++ b/include/deal.II/dofs/dof_handler_policy.h @@ -32,9 +32,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +# ifndef DOXYGEN template class DoFHandler; - +# endif namespace internal { diff --git a/include/deal.II/dofs/dof_iterator_selector.h b/include/deal.II/dofs/dof_iterator_selector.h index e6ed01460c..0bfb069ff8 100644 --- a/include/deal.II/dofs/dof_iterator_selector.h +++ b/include/deal.II/dofs/dof_iterator_selector.h @@ -21,6 +21,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class DoFInvalidAccessor; @@ -35,6 +37,7 @@ template class TriaIterator; template class TriaActiveIterator; +#endif namespace internal { diff --git a/include/deal.II/dofs/dof_objects.h b/include/deal.II/dofs/dof_objects.h index b776d38488..ffbfcb48a1 100644 --- a/include/deal.II/dofs/dof_objects.h +++ b/include/deal.II/dofs/dof_objects.h @@ -25,18 +25,22 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class DoFHandler; +#endif namespace internal { namespace DoFHandlerImplementation { +#ifndef DOXYGEN template class DoFLevel; template class DoFFaces; - +#endif /** * Store the indices of the degrees of freedom which are located on diff --git a/include/deal.II/dofs/dof_tools.h b/include/deal.II/dofs/dof_tools.h index 1045467385..2dab61a182 100644 --- a/include/deal.II/dofs/dof_tools.h +++ b/include/deal.II/dofs/dof_tools.h @@ -39,6 +39,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN class BlockMask; template class Function; @@ -66,7 +68,7 @@ namespace GridTools template struct PeriodicFacePair; } - +#endif /** * This is a collection of functions operating on, and manipulating the diff --git a/include/deal.II/fe/fe_dgq.h b/include/deal.II/fe/fe_dgq.h index c4fc6ffa61..5d9123e448 100644 --- a/include/deal.II/fe/fe_dgq.h +++ b/include/deal.II/fe/fe_dgq.h @@ -25,10 +25,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class MappingQ; template class Quadrature; +#endif /*!@addtogroup fe */ /*@{*/ diff --git a/include/deal.II/fe/fe_system.h b/include/deal.II/fe/fe_system.h index dbbc0dfb63..3500beb738 100644 --- a/include/deal.II/fe/fe_system.h +++ b/include/deal.II/fe/fe_system.h @@ -35,9 +35,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +# ifndef DOXYGEN template class FE_Enriched; - +# endif /** * This class provides an interface to group several elements together into diff --git a/include/deal.II/fe/fe_tools.h b/include/deal.II/fe/fe_tools.h index bf632dc9f4..1d88e3e817 100644 --- a/include/deal.II/fe/fe_tools.h +++ b/include/deal.II/fe/fe_tools.h @@ -39,6 +39,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FullMatrix; template @@ -51,7 +53,7 @@ template class FiniteElementData; template class AffineConstraints; - +#endif /*!@addtogroup feall */ diff --git a/include/deal.II/fe/fe_update_flags.h b/include/deal.II/fe/fe_update_flags.h index 181425091d..93f8736ef6 100644 --- a/include/deal.II/fe/fe_update_flags.h +++ b/include/deal.II/fe/fe_update_flags.h @@ -29,9 +29,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class FiniteElement; - +#endif /*!@addtogroup feaccess */ /*@{*/ diff --git a/include/deal.II/fe/fe_values.h b/include/deal.II/fe/fe_values.h index 4a372f0e29..2e0382341f 100644 --- a/include/deal.II/fe/fe_values.h +++ b/include/deal.II/fe/fe_values.h @@ -53,8 +53,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class FEValuesBase; +#endif namespace internal { diff --git a/include/deal.II/grid/cell_id.h b/include/deal.II/grid/cell_id.h index 871fd2a58b..4cffac1d4f 100644 --- a/include/deal.II/grid/cell_id.h +++ b/include/deal.II/grid/cell_id.h @@ -31,8 +31,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Triangulation; +#endif /** * A class to represent a unique ID for a cell in a Triangulation. It is diff --git a/include/deal.II/grid/grid_in.h b/include/deal.II/grid/grid_in.h index 11eab89ca9..ebd0e24107 100644 --- a/include/deal.II/grid/grid_in.h +++ b/include/deal.II/grid/grid_in.h @@ -29,10 +29,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Triangulation; template struct CellData; +#endif /** * This class implements an input mechanism for grid data. It allows to read a diff --git a/include/deal.II/grid/grid_out.h b/include/deal.II/grid/grid_out.h index 5be78f2e3a..213bf40e21 100644 --- a/include/deal.II/grid/grid_out.h +++ b/include/deal.II/grid/grid_out.h @@ -28,11 +28,14 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN class ParameterHandler; template class Triangulation; template class Mapping; +#endif /** diff --git a/include/deal.II/grid/grid_refinement.h b/include/deal.II/grid/grid_refinement.h index 01eb0d4a06..52a6fdaf7e 100644 --- a/include/deal.II/grid/grid_refinement.h +++ b/include/deal.II/grid/grid_refinement.h @@ -26,10 +26,12 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Triangulation; template class Vector; +#endif /** * This namespace provides a collection of functions that aid in refinement diff --git a/include/deal.II/grid/grid_tools.h b/include/deal.II/grid/grid_tools.h index 095cbb28a7..39b8214430 100644 --- a/include/deal.II/grid/grid_tools.h +++ b/include/deal.II/grid/grid_tools.h @@ -62,6 +62,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN namespace parallel { namespace distributed @@ -78,6 +80,7 @@ namespace hp } class SparsityPattern; +# endif namespace internal { diff --git a/include/deal.II/grid/manifold.h b/include/deal.II/grid/manifold.h index 49cdc309ba..499753d779 100644 --- a/include/deal.II/grid/manifold.h +++ b/include/deal.II/grid/manifold.h @@ -33,8 +33,10 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +#ifndef DOXYGEN template class Table; +#endif /** * We collect here some helper functions used in the Manifold diff --git a/include/deal.II/grid/tria.h b/include/deal.II/grid/tria.h index 3e931c830f..56efe27523 100644 --- a/include/deal.II/grid/tria.h +++ b/include/deal.II/grid/tria.h @@ -44,6 +44,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Manifold; @@ -91,7 +93,7 @@ namespace hp template class DoFHandler; } - +#endif /*------------------------------------------------------------------------*/ diff --git a/include/deal.II/grid/tria_accessor.h b/include/deal.II/grid/tria_accessor.h index f99b969970..6682fae211 100644 --- a/include/deal.II/grid/tria_accessor.h +++ b/include/deal.II/grid/tria_accessor.h @@ -33,6 +33,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Triangulation; template @@ -44,7 +46,7 @@ class TriaActiveIterator; template class Manifold; - +#endif namespace internal { diff --git a/include/deal.II/grid/tria_accessor.templates.h b/include/deal.II/grid/tria_accessor.templates.h index e6965efb00..ba7424d408 100644 --- a/include/deal.II/grid/tria_accessor.templates.h +++ b/include/deal.II/grid/tria_accessor.templates.h @@ -35,11 +35,14 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN namespace parallel { template class Triangulation; } +#endif /*--------------------- Functions: TriaAccessorBase -------------------------*/ diff --git a/include/deal.II/grid/tria_iterator.h b/include/deal.II/grid/tria_iterator.h index 87dcb3688a..094d125e69 100644 --- a/include/deal.II/grid/tria_iterator.h +++ b/include/deal.II/grid/tria_iterator.h @@ -32,6 +32,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN template class Triangulation; template @@ -41,6 +43,7 @@ template class TriaIterator; template class TriaActiveIterator; +# endif diff --git a/include/deal.II/grid/tria_iterator_selector.h b/include/deal.II/grid/tria_iterator_selector.h index 8a4f1c52e8..91f96cceca 100644 --- a/include/deal.II/grid/tria_iterator_selector.h +++ b/include/deal.II/grid/tria_iterator_selector.h @@ -21,6 +21,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class CellAccessor; template @@ -35,6 +37,7 @@ template class TriaIterator; template class TriaActiveIterator; +#endif namespace internal { diff --git a/include/deal.II/grid/tria_objects.h b/include/deal.II/grid/tria_objects.h index 0a70fb9c55..5d7c29b3df 100644 --- a/include/deal.II/grid/tria_objects.h +++ b/include/deal.II/grid/tria_objects.h @@ -39,12 +39,15 @@ DEAL_II_NAMESPACE_OPEN // bool and then an integer and then a double, etc. Verify that this is // actually the case. +// Forward declarations +#ifndef DOXYGEN template class Triangulation; template class TriaRawIterator; template class TriaAccessor; +#endif namespace internal { diff --git a/include/deal.II/hp/dof_handler.h b/include/deal.II/hp/dof_handler.h index a1b07aeb74..2adda55291 100644 --- a/include/deal.II/hp/dof_handler.h +++ b/include/deal.II/hp/dof_handler.h @@ -42,6 +42,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Triangulation; @@ -91,7 +93,7 @@ namespace internal struct Implementation; } } // namespace internal - +#endif namespace hp diff --git a/include/deal.II/hp/dof_level.h b/include/deal.II/hp/dof_level.h index 0af0ffedea..9f257eb77b 100644 --- a/include/deal.II/hp/dof_level.h +++ b/include/deal.II/hp/dof_level.h @@ -26,6 +26,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN namespace hp { template @@ -49,6 +51,7 @@ namespace internal struct Implementation; } } // namespace internal +#endif namespace internal diff --git a/include/deal.II/hp/fe_values.h b/include/deal.II/hp/fe_values.h index a5b46c3c58..971a625bfc 100644 --- a/include/deal.II/hp/fe_values.h +++ b/include/deal.II/hp/fe_values.h @@ -30,9 +30,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class FiniteElement; - +#endif namespace internal diff --git a/include/deal.II/hp/refinement.h b/include/deal.II/hp/refinement.h index 3ef7c9145d..70d9bc1128 100644 --- a/include/deal.II/hp/refinement.h +++ b/include/deal.II/hp/refinement.h @@ -24,6 +24,7 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Vector; @@ -32,6 +33,7 @@ namespace hp template class DoFHandler; } +#endif namespace hp { diff --git a/include/deal.II/lac/affine_constraints.h b/include/deal.II/lac/affine_constraints.h index e21033d1d2..7a710868cf 100644 --- a/include/deal.II/lac/affine_constraints.h +++ b/include/deal.II/lac/affine_constraints.h @@ -35,6 +35,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FullMatrix; class SparsityPattern; @@ -55,6 +57,7 @@ namespace internals template class AffineConstraints; +#endif /** * ConstraintMatrix has been renamed to AffineConstraints. Provide a diff --git a/include/deal.II/lac/block_linear_operator.h b/include/deal.II/lac/block_linear_operator.h index c0553e419f..ceb9650bb9 100644 --- a/include/deal.II/lac/block_linear_operator.h +++ b/include/deal.II/lac/block_linear_operator.h @@ -26,7 +26,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations: - +#ifndef DOXYGEN namespace internal { namespace BlockLinearOperatorImplementation @@ -45,6 +45,7 @@ template , typename BlockPayload = internal::BlockLinearOperatorImplementation::EmptyBlockPayload<>> class BlockLinearOperator; +#endif template , typename Domain = Range, diff --git a/include/deal.II/lac/block_matrix_base.h b/include/deal.II/lac/block_matrix_base.h index 27151967a4..cf556f9975 100644 --- a/include/deal.II/lac/block_matrix_base.h +++ b/include/deal.II/lac/block_matrix_base.h @@ -37,9 +37,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class MatrixIterator; - +#endif /*! @addtogroup Matrix1 diff --git a/include/deal.II/lac/block_sparse_matrix_ez.h b/include/deal.II/lac/block_sparse_matrix_ez.h index e580faf398..a5dff0f770 100644 --- a/include/deal.II/lac/block_sparse_matrix_ez.h +++ b/include/deal.II/lac/block_sparse_matrix_ez.h @@ -34,8 +34,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class BlockVector; +#endif /*! @addtogroup Matrix1 *@{ diff --git a/include/deal.II/lac/block_sparsity_pattern.h b/include/deal.II/lac/block_sparsity_pattern.h index 0f3c66c75b..2f12299233 100644 --- a/include/deal.II/lac/block_sparsity_pattern.h +++ b/include/deal.II/lac/block_sparsity_pattern.h @@ -31,10 +31,12 @@ DEAL_II_NAMESPACE_OPEN - +// Forward declarations +#ifndef DOXYGEN template class BlockSparseMatrix; class BlockDynamicSparsityPattern; +#endif /*! @addtogroup Sparsity *@{ diff --git a/include/deal.II/lac/block_vector.h b/include/deal.II/lac/block_vector.h index 24e5757efb..20a3399cca 100644 --- a/include/deal.II/lac/block_vector.h +++ b/include/deal.II/lac/block_vector.h @@ -32,7 +32,9 @@ DEAL_II_NAMESPACE_OPEN -#ifdef DEAL_II_WITH_TRILINOS +// Forward declaration +#ifndef DOXYGEN +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { namespace MPI @@ -40,6 +42,7 @@ namespace TrilinosWrappers class BlockVector; } } // namespace TrilinosWrappers +# endif #endif diff --git a/include/deal.II/lac/block_vector_base.h b/include/deal.II/lac/block_vector_base.h index 1b7bb4b23b..f9283d43c7 100644 --- a/include/deal.II/lac/block_vector_base.h +++ b/include/deal.II/lac/block_vector_base.h @@ -41,9 +41,11 @@ DEAL_II_NAMESPACE_OPEN *@{ */ +// Forward declaration +#ifndef DOXYGEN template class BlockVectorBase; - +#endif /** * A class that can be used to determine whether a given type is a block diff --git a/include/deal.II/lac/chunk_sparse_matrix.h b/include/deal.II/lac/chunk_sparse_matrix.h index 08eb10afe4..f85cb3dcd3 100644 --- a/include/deal.II/lac/chunk_sparse_matrix.h +++ b/include/deal.II/lac/chunk_sparse_matrix.h @@ -31,10 +31,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN template class Vector; template class FullMatrix; +# endif /*! @addtogroup Matrix1 *@{ diff --git a/include/deal.II/lac/chunk_sparsity_pattern.h b/include/deal.II/lac/chunk_sparsity_pattern.h index 85f4dfa42a..938105ce71 100644 --- a/include/deal.II/lac/chunk_sparsity_pattern.h +++ b/include/deal.II/lac/chunk_sparsity_pattern.h @@ -30,9 +30,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class ChunkSparseMatrix; - +#endif /*! @addtogroup Sparsity *@{ diff --git a/include/deal.II/lac/communication_pattern_base.h b/include/deal.II/lac/communication_pattern_base.h index 7af4463717..39537f5c5b 100644 --- a/include/deal.II/lac/communication_pattern_base.h +++ b/include/deal.II/lac/communication_pattern_base.h @@ -22,7 +22,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class IndexSet; +#endif namespace LinearAlgebra { diff --git a/include/deal.II/lac/cuda_precondition.h b/include/deal.II/lac/cuda_precondition.h index 480188bae8..0108c35a3f 100644 --- a/include/deal.II/lac/cuda_precondition.h +++ b/include/deal.II/lac/cuda_precondition.h @@ -28,6 +28,7 @@ DEAL_II_NAMESPACE_OPEN // forward-definition +# ifndef DOXYGEN namespace LinearAlgebra { namespace CUDAWrappers @@ -36,6 +37,7 @@ namespace LinearAlgebra class Vector; } } // namespace LinearAlgebra +# endif namespace CUDAWrappers { diff --git a/include/deal.II/lac/cuda_vector.h b/include/deal.II/lac/cuda_vector.h index 6822da92bc..d39b37d7df 100644 --- a/include/deal.II/lac/cuda_vector.h +++ b/include/deal.II/lac/cuda_vector.h @@ -28,9 +28,12 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN class CommunicationPatternBase; template class ReadWriteVector; +# endif namespace LinearAlgebra { diff --git a/include/deal.II/lac/dynamic_sparsity_pattern.h b/include/deal.II/lac/dynamic_sparsity_pattern.h index 2ad9bc675c..88e6f49e08 100644 --- a/include/deal.II/lac/dynamic_sparsity_pattern.h +++ b/include/deal.II/lac/dynamic_sparsity_pattern.h @@ -31,7 +31,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class DynamicSparsityPattern; +#endif /*! @addtogroup Sparsity *@{ diff --git a/include/deal.II/lac/filtered_matrix.h b/include/deal.II/lac/filtered_matrix.h index 20982e4f95..8eea08b9a3 100644 --- a/include/deal.II/lac/filtered_matrix.h +++ b/include/deal.II/lac/filtered_matrix.h @@ -32,8 +32,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +# ifndef DOXYGEN template class FilteredMatrixBlock; +# endif /*! @addtogroup Matrix2 *@{ diff --git a/include/deal.II/lac/full_matrix.h b/include/deal.II/lac/full_matrix.h index c8a06cfe19..059545056f 100644 --- a/include/deal.II/lac/full_matrix.h +++ b/include/deal.II/lac/full_matrix.h @@ -36,11 +36,12 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Vector; template class LAPACKFullMatrix; - +#endif /*! @addtogroup Matrix1 *@{ diff --git a/include/deal.II/lac/householder.h b/include/deal.II/lac/householder.h index 6de6024ece..7d88da5cf0 100644 --- a/include/deal.II/lac/householder.h +++ b/include/deal.II/lac/householder.h @@ -29,9 +29,10 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Vector; - +#endif /*! @addtogroup Matrix2 *@{ diff --git a/include/deal.II/lac/la_parallel_block_vector.h b/include/deal.II/lac/la_parallel_block_vector.h index bd607b34b2..10d2b49c2c 100644 --- a/include/deal.II/lac/la_parallel_block_vector.h +++ b/include/deal.II/lac/la_parallel_block_vector.h @@ -33,7 +33,9 @@ DEAL_II_NAMESPACE_OPEN -#ifdef DEAL_II_WITH_PETSC +// Forward declarations +#ifndef DOXYGEN +# ifdef DEAL_II_WITH_PETSC namespace PETScWrappers { namespace MPI @@ -41,9 +43,9 @@ namespace PETScWrappers class BlockVector; } } // namespace PETScWrappers -#endif +# endif -#ifdef DEAL_II_WITH_TRILINOS +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { namespace MPI @@ -51,6 +53,7 @@ namespace TrilinosWrappers class BlockVector; } } // namespace TrilinosWrappers +# endif #endif namespace LinearAlgebra diff --git a/include/deal.II/lac/la_parallel_block_vector.templates.h b/include/deal.II/lac/la_parallel_block_vector.templates.h index 94c2c2d13a..ed780b8b24 100644 --- a/include/deal.II/lac/la_parallel_block_vector.templates.h +++ b/include/deal.II/lac/la_parallel_block_vector.templates.h @@ -31,8 +31,10 @@ DEAL_II_NAMESPACE_OPEN // Forward type declaration to have special treatment of // LAPACKFullMatrix // in multivector_inner_product() +#ifndef DOXYGEN template class LAPACKFullMatrix; +#endif namespace LinearAlgebra { diff --git a/include/deal.II/lac/la_parallel_vector.h b/include/deal.II/lac/la_parallel_vector.h index f0efe7ab6d..3090a625ab 100644 --- a/include/deal.II/lac/la_parallel_vector.h +++ b/include/deal.II/lac/la_parallel_vector.h @@ -33,6 +33,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN namespace LinearAlgebra { /** @@ -48,7 +50,7 @@ namespace LinearAlgebra class ReadWriteVector; } // namespace LinearAlgebra -#ifdef DEAL_II_WITH_PETSC +# ifdef DEAL_II_WITH_PETSC namespace PETScWrappers { namespace MPI @@ -56,9 +58,9 @@ namespace PETScWrappers class Vector; } } // namespace PETScWrappers -#endif +# endif -#ifdef DEAL_II_WITH_TRILINOS +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { namespace MPI @@ -66,6 +68,7 @@ namespace TrilinosWrappers class Vector; } } // namespace TrilinosWrappers +# endif #endif namespace LinearAlgebra diff --git a/include/deal.II/lac/lapack_full_matrix.h b/include/deal.II/lac/lapack_full_matrix.h index 22c04c3eaf..1662150329 100644 --- a/include/deal.II/lac/lapack_full_matrix.h +++ b/include/deal.II/lac/lapack_full_matrix.h @@ -33,6 +33,7 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Vector; template @@ -41,7 +42,7 @@ template class FullMatrix; template class SparseMatrix; - +#endif /** * A variant of FullMatrix using LAPACK functions wherever possible. In order diff --git a/include/deal.II/lac/linear_operator.h b/include/deal.II/lac/linear_operator.h index 4dd1103b85..f210c3dc1e 100644 --- a/include/deal.II/lac/linear_operator.h +++ b/include/deal.II/lac/linear_operator.h @@ -29,7 +29,7 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations: - +#ifndef DOXYGEN namespace internal { namespace LinearOperatorImplementation @@ -48,6 +48,7 @@ template , typename Payload = internal::LinearOperatorImplementation::EmptyPayload> class LinearOperator; +#endif template < typename Range = Vector, diff --git a/include/deal.II/lac/matrix_block.h b/include/deal.II/lac/matrix_block.h index e4baaffd45..7aa930055e 100644 --- a/include/deal.II/lac/matrix_block.h +++ b/include/deal.II/lac/matrix_block.h @@ -34,8 +34,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class MatrixBlock; +#endif namespace internal { diff --git a/include/deal.II/lac/matrix_lib.h b/include/deal.II/lac/matrix_lib.h index 624fc54355..396c2e4cf4 100644 --- a/include/deal.II/lac/matrix_lib.h +++ b/include/deal.II/lac/matrix_lib.h @@ -23,12 +23,15 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Vector; template class BlockVector; template class SparseMatrix; +#endif /*! @addtogroup Matrix2 *@{ diff --git a/include/deal.II/lac/packaged_operation.h b/include/deal.II/lac/packaged_operation.h index 0adb0a8ab8..1c51bdfeb3 100644 --- a/include/deal.II/lac/packaged_operation.h +++ b/include/deal.II/lac/packaged_operation.h @@ -27,12 +27,14 @@ DEAL_II_NAMESPACE_OPEN // Forward declarations: +#ifndef DOXYGEN template class Vector; template class LinearOperator; template > class PackagedOperation; +#endif /** diff --git a/include/deal.II/lac/petsc_matrix_base.h b/include/deal.II/lac/petsc_matrix_base.h index 1b8bbc48e0..6849c58345 100644 --- a/include/deal.II/lac/petsc_matrix_base.h +++ b/include/deal.II/lac/petsc_matrix_base.h @@ -37,8 +37,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN template class BlockMatrixBase; +# endif namespace PETScWrappers diff --git a/include/deal.II/lac/petsc_precondition.h b/include/deal.II/lac/petsc_precondition.h index 233d547955..59506055c0 100644 --- a/include/deal.II/lac/petsc_precondition.h +++ b/include/deal.II/lac/petsc_precondition.h @@ -32,10 +32,11 @@ DEAL_II_NAMESPACE_OPEN namespace PETScWrappers { // forward declarations +# ifndef DOXYGEN class MatrixBase; class VectorBase; class SolverBase; - +# endif /** * Base class for preconditioner classes using the PETSc functionality. The diff --git a/include/deal.II/lac/petsc_solver.h b/include/deal.II/lac/petsc_solver.h index 3bca1ed1af..d572582e48 100644 --- a/include/deal.II/lac/petsc_solver.h +++ b/include/deal.II/lac/petsc_solver.h @@ -34,20 +34,25 @@ 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 /** diff --git a/include/deal.II/lac/petsc_sparse_matrix.h b/include/deal.II/lac/petsc_sparse_matrix.h index 9760474f4e..2c86f0c5b6 100644 --- a/include/deal.II/lac/petsc_sparse_matrix.h +++ b/include/deal.II/lac/petsc_sparse_matrix.h @@ -29,9 +29,10 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +# ifndef DOXYGEN template class BlockMatrixBase; - +# endif namespace PETScWrappers { diff --git a/include/deal.II/lac/petsc_vector_base.h b/include/deal.II/lac/petsc_vector_base.h index 5316ecd0cf..2166b5f42d 100644 --- a/include/deal.II/lac/petsc_vector_base.h +++ b/include/deal.II/lac/petsc_vector_base.h @@ -36,9 +36,15 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +# ifndef DOXYGEN template class Vector; +namespace PETScWrappers +{ + class VectorBase; +} +# endif /** * A namespace in which wrapper classes for PETSc objects reside. @@ -49,9 +55,6 @@ class Vector; */ namespace PETScWrappers { - // forward declaration - class VectorBase; - /** * @cond internal */ diff --git a/include/deal.II/lac/pointer_matrix.h b/include/deal.II/lac/pointer_matrix.h index 7457d82cbd..85e948eb49 100644 --- a/include/deal.II/lac/pointer_matrix.h +++ b/include/deal.II/lac/pointer_matrix.h @@ -24,6 +24,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class VectorMemory; @@ -44,6 +46,7 @@ template class TridiagonalMatrix; template class BlockMatrixArray; +#endif /*! @addtogroup Matrix2 *@{ diff --git a/include/deal.II/lac/precondition.h b/include/deal.II/lac/precondition.h index 96ea50cfe1..2f887a3826 100644 --- a/include/deal.II/lac/precondition.h +++ b/include/deal.II/lac/precondition.h @@ -34,7 +34,7 @@ DEAL_II_NAMESPACE_OPEN // forward declarations - +#ifndef DOXYGEN template class Vector; template @@ -47,7 +47,7 @@ namespace LinearAlgebra class Vector; } // namespace distributed } // namespace LinearAlgebra - +#endif /*! @addtogroup Preconditioners diff --git a/include/deal.II/lac/precondition_block_base.h b/include/deal.II/lac/precondition_block_base.h index 2ca83145c4..5392761dc9 100644 --- a/include/deal.II/lac/precondition_block_base.h +++ b/include/deal.II/lac/precondition_block_base.h @@ -31,10 +31,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FullMatrix; template class Vector; +#endif /** * A class storing the inverse diagonal blocks for block preconditioners and diff --git a/include/deal.II/lac/precondition_selector.h b/include/deal.II/lac/precondition_selector.h index bc37e9d7b0..0050f2e8cb 100644 --- a/include/deal.II/lac/precondition_selector.h +++ b/include/deal.II/lac/precondition_selector.h @@ -26,10 +26,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Vector; template class SparseMatrix; +#endif /*! @addtogroup Preconditioners diff --git a/include/deal.II/lac/read_write_vector.h b/include/deal.II/lac/read_write_vector.h index 0b2ee46459..f08bd622fd 100644 --- a/include/deal.II/lac/read_write_vector.h +++ b/include/deal.II/lac/read_write_vector.h @@ -43,6 +43,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN namespace LinearAlgebra { class CommunicationPatternBase; @@ -53,7 +55,7 @@ namespace LinearAlgebra } // namespace distributed } // namespace LinearAlgebra -#ifdef DEAL_II_WITH_PETSC +# ifdef DEAL_II_WITH_PETSC namespace PETScWrappers { namespace MPI @@ -61,9 +63,9 @@ namespace PETScWrappers class Vector; } } // namespace PETScWrappers -#endif +# endif -#ifdef DEAL_II_WITH_TRILINOS +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { namespace MPI @@ -71,9 +73,9 @@ namespace TrilinosWrappers class Vector; } } // namespace TrilinosWrappers -#endif +# endif -#ifdef DEAL_II_WITH_CUDA +# ifdef DEAL_II_WITH_CUDA namespace LinearAlgebra { namespace CUDAWrappers @@ -82,6 +84,7 @@ namespace LinearAlgebra class Vector; } } // namespace LinearAlgebra +# endif #endif namespace LinearAlgebra diff --git a/include/deal.II/lac/slepc_spectral_transformation.h b/include/deal.II/lac/slepc_spectral_transformation.h index 7763471664..d10c9fe1a3 100644 --- a/include/deal.II/lac/slepc_spectral_transformation.h +++ b/include/deal.II/lac/slepc_spectral_transformation.h @@ -33,11 +33,14 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +# ifndef DOXYGEN namespace PETScWrappers { // forward declarations class SolverBase; } // namespace PETScWrappers +# endif namespace SLEPcWrappers { diff --git a/include/deal.II/lac/solver.h b/include/deal.II/lac/solver.h index 8bb1e2bb57..242c78cded 100644 --- a/include/deal.II/lac/solver.h +++ b/include/deal.II/lac/solver.h @@ -28,8 +28,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class Vector; +#endif /** * A base class for iterative linear solvers. This class provides interfaces diff --git a/include/deal.II/lac/solver_cg.h b/include/deal.II/lac/solver_cg.h index 170eafe024..1e97171f44 100644 --- a/include/deal.II/lac/solver_cg.h +++ b/include/deal.II/lac/solver_cg.h @@ -32,7 +32,9 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +#ifndef DOXYGEN class PreconditionIdentity; +#endif /*!@addtogroup Solvers */ diff --git a/include/deal.II/lac/solver_control.h b/include/deal.II/lac/solver_control.h index 5cd5c69657..9e8435e5e2 100644 --- a/include/deal.II/lac/solver_control.h +++ b/include/deal.II/lac/solver_control.h @@ -25,7 +25,9 @@ DEAL_II_NAMESPACE_OPEN +#ifndef DOXYGEN class ParameterHandler; +#endif /*!@addtogroup Solvers */ /*@{*/ diff --git a/include/deal.II/lac/sparse_matrix.h b/include/deal.II/lac/sparse_matrix.h index d67f215398..d73e2fe24f 100644 --- a/include/deal.II/lac/sparse_matrix.h +++ b/include/deal.II/lac/sparse_matrix.h @@ -35,6 +35,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN template class Vector; template @@ -43,7 +45,7 @@ template class BlockMatrixBase; template class SparseILU; -# ifdef DEAL_II_WITH_MPI +# ifdef DEAL_II_WITH_MPI namespace Utilities { namespace MPI @@ -53,13 +55,14 @@ namespace Utilities sum(const SparseMatrix &, const MPI_Comm &, SparseMatrix &); } } // namespace Utilities -# endif +# endif -# ifdef DEAL_II_WITH_TRILINOS +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { class SparseMatrix; } +# endif # endif /** diff --git a/include/deal.II/lac/sparse_matrix_ez.h b/include/deal.II/lac/sparse_matrix_ez.h index 89a86beb5a..db4cdcd44d 100644 --- a/include/deal.II/lac/sparse_matrix_ez.h +++ b/include/deal.II/lac/sparse_matrix_ez.h @@ -28,10 +28,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN template class Vector; template class FullMatrix; +# endif /** * @addtogroup Matrix1 diff --git a/include/deal.II/lac/sparse_vanka.h b/include/deal.II/lac/sparse_vanka.h index 0b6c4cc141..ca7523e687 100644 --- a/include/deal.II/lac/sparse_vanka.h +++ b/include/deal.II/lac/sparse_vanka.h @@ -28,6 +28,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class FullMatrix; template @@ -39,6 +41,7 @@ template class SparseVanka; template class SparseBlockVanka; +#endif /*! @addtogroup Preconditioners *@{ diff --git a/include/deal.II/lac/sparsity_pattern.h b/include/deal.II/lac/sparsity_pattern.h index 4b73b116a2..066ab5e2f9 100644 --- a/include/deal.II/lac/sparsity_pattern.h +++ b/include/deal.II/lac/sparsity_pattern.h @@ -41,6 +41,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN class SparsityPattern; class SparsityPatternBase; class DynamicSparsityPattern; @@ -58,7 +60,7 @@ namespace ChunkSparsityPatternIterators { class Accessor; } - +#endif /*! @addtogroup Sparsity *@{ diff --git a/include/deal.II/lac/tensor_product_matrix.h b/include/deal.II/lac/tensor_product_matrix.h index b6b1f9e108..ffab3f43be 100644 --- a/include/deal.II/lac/tensor_product_matrix.h +++ b/include/deal.II/lac/tensor_product_matrix.h @@ -28,10 +28,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Vector; template class FullMatrix; +#endif /** * This is an abstract base class used for a special matrix class, namely the diff --git a/include/deal.II/lac/tridiagonal_matrix.h b/include/deal.II/lac/tridiagonal_matrix.h index 5b92a38ecf..82f53b5089 100644 --- a/include/deal.II/lac/tridiagonal_matrix.h +++ b/include/deal.II/lac/tridiagonal_matrix.h @@ -28,9 +28,10 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Vector; - +#endif /*! @addtogroup Matrix1 *@{ diff --git a/include/deal.II/lac/trilinos_block_sparse_matrix.h b/include/deal.II/lac/trilinos_block_sparse_matrix.h index 88a75231c3..1107f002ee 100644 --- a/include/deal.II/lac/trilinos_block_sparse_matrix.h +++ b/include/deal.II/lac/trilinos_block_sparse_matrix.h @@ -34,10 +34,11 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +# ifndef DOXYGEN class BlockSparsityPattern; template class BlockSparseMatrix; - +# endif namespace TrilinosWrappers { diff --git a/include/deal.II/lac/trilinos_linear_operator.h b/include/deal.II/lac/trilinos_linear_operator.h index fafda77ddf..50dda84da0 100644 --- a/include/deal.II/lac/trilinos_linear_operator.h +++ b/include/deal.II/lac/trilinos_linear_operator.h @@ -28,6 +28,7 @@ DEAL_II_NAMESPACE_OPEN namespace TrilinosWrappers { // Forward declarations: +# ifndef DOXYGEN class SparseMatrix; class PreconditionBase; class BlockSparseMatrix; @@ -45,7 +46,7 @@ namespace TrilinosWrappers class TrilinosBlockPayload; } } // namespace internal - +# endif /** * @name Creation of a LinearOperator diff --git a/include/deal.II/lac/trilinos_parallel_block_vector.h b/include/deal.II/lac/trilinos_parallel_block_vector.h index 7977620e19..820183bef3 100644 --- a/include/deal.II/lac/trilinos_parallel_block_vector.h +++ b/include/deal.II/lac/trilinos_parallel_block_vector.h @@ -31,13 +31,10 @@ DEAL_II_NAMESPACE_OPEN // forward declaration +# ifndef DOXYGEN template class BlockVectorBase; -/*! @addtogroup TrilinosWrappers - *@{ - */ - namespace TrilinosWrappers { // forward declaration @@ -46,8 +43,15 @@ namespace TrilinosWrappers class BlockVector; } class BlockSparseMatrix; +} // namespace TrilinosWrappers +# endif +/*! @addtogroup TrilinosWrappers + *@{ + */ +namespace TrilinosWrappers +{ namespace MPI { /** diff --git a/include/deal.II/lac/trilinos_precondition.h b/include/deal.II/lac/trilinos_precondition.h index f099a41c1f..95b77818fb 100644 --- a/include/deal.II/lac/trilinos_precondition.h +++ b/include/deal.II/lac/trilinos_precondition.h @@ -40,22 +40,25 @@ # include // 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 class SparseMatrix; template class Vector; class SparsityPattern; +# endif /*! @addtogroup TrilinosWrappers *@{ diff --git a/include/deal.II/lac/trilinos_solver.h b/include/deal.II/lac/trilinos_solver.h index a91cb3c3a3..80bf1dedbd 100644 --- a/include/deal.II/lac/trilinos_solver.h +++ b/include/deal.II/lac/trilinos_solver.h @@ -39,8 +39,10 @@ DEAL_II_NAMESPACE_OPEN namespace TrilinosWrappers { // forward declarations +# ifndef DOXYGEN class SparseMatrix; class PreconditionBase; +# endif /** diff --git a/include/deal.II/lac/trilinos_sparse_matrix.h b/include/deal.II/lac/trilinos_sparse_matrix.h index 13b4181ad7..708a93e45a 100644 --- a/include/deal.II/lac/trilinos_sparse_matrix.h +++ b/include/deal.II/lac/trilinos_sparse_matrix.h @@ -55,6 +55,7 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +# ifndef DOXYGEN template class BlockMatrixBase; @@ -63,23 +64,26 @@ class SparseMatrix; class SparsityPattern; class DynamicSparsityPattern; - - namespace TrilinosWrappers { - // forward declarations class SparseMatrix; class SparsityPattern; - /** - * Iterators for Trilinos matrices - */ namespace SparseMatrixIterators { - // forward declaration template class Iterator; + } +} // namespace TrilinosWrappers +# endif +namespace TrilinosWrappers +{ + /** + * Iterators for Trilinos matrices + */ + namespace SparseMatrixIterators + { /** * Exception */ diff --git a/include/deal.II/lac/trilinos_sparsity_pattern.h b/include/deal.II/lac/trilinos_sparsity_pattern.h index 273d0ba4c8..654d87177d 100644 --- a/include/deal.II/lac/trilinos_sparsity_pattern.h +++ b/include/deal.II/lac/trilinos_sparsity_pattern.h @@ -43,20 +43,26 @@ 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 diff --git a/include/deal.II/lac/trilinos_tpetra_vector.h b/include/deal.II/lac/trilinos_tpetra_vector.h index c255ae72ac..aef6bd2cd6 100644 --- a/include/deal.II/lac/trilinos_tpetra_vector.h +++ b/include/deal.II/lac/trilinos_tpetra_vector.h @@ -43,8 +43,10 @@ DEAL_II_NAMESPACE_OPEN namespace LinearAlgebra { // Forward declaration +# ifndef DOXYGEN template class ReadWriteVector; +# endif namespace TpetraWrappers { diff --git a/include/deal.II/lac/trilinos_vector.h b/include/deal.II/lac/trilinos_vector.h index a4b7c00d38..ecbe5f31e1 100644 --- a/include/deal.II/lac/trilinos_vector.h +++ b/include/deal.II/lac/trilinos_vector.h @@ -47,12 +47,15 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +# ifndef DOXYGEN namespace LinearAlgebra { // Forward declaration template class ReadWriteVector; } // namespace LinearAlgebra +# endif /** * @addtogroup TrilinosWrappers diff --git a/include/deal.II/lac/vector.h b/include/deal.II/lac/vector.h index 349729a2bc..64330861a2 100644 --- a/include/deal.II/lac/vector.h +++ b/include/deal.II/lac/vector.h @@ -41,14 +41,16 @@ 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 @@ -56,7 +58,7 @@ namespace TrilinosWrappers class Vector; } } // namespace TrilinosWrappers -#endif +# endif template class LAPACKFullMatrix; @@ -71,7 +73,7 @@ namespace parallel class TBBPartitioner; } } // namespace parallel - +#endif /*! @addtogroup Vectors diff --git a/include/deal.II/lac/vector_space_vector.h b/include/deal.II/lac/vector_space_vector.h index aaf985b09f..10975c1d1c 100644 --- a/include/deal.II/lac/vector_space_vector.h +++ b/include/deal.II/lac/vector_space_vector.h @@ -27,6 +27,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN class IndexSet; namespace LinearAlgebra { @@ -34,6 +36,7 @@ namespace LinearAlgebra template class ReadWriteVector; } // namespace LinearAlgebra +#endif namespace LinearAlgebra { diff --git a/include/deal.II/matrix_free/cuda_matrix_free.h b/include/deal.II/matrix_free/cuda_matrix_free.h index 4038cd3f75..19ef0d3b5b 100644 --- a/include/deal.II/matrix_free/cuda_matrix_free.h +++ b/include/deal.II/matrix_free/cuda_matrix_free.h @@ -41,11 +41,13 @@ DEAL_II_NAMESPACE_OPEN namespace CUDAWrappers { // forward declaration +# ifndef DOXYGEN namespace internal { template class ReinitHelper; } +# endif /** * This class collects all the data that is stored for the matrix free diff --git a/include/deal.II/matrix_free/dof_info.h b/include/deal.II/matrix_free/dof_info.h index 63a2f10453..19f3368845 100644 --- a/include/deal.II/matrix_free/dof_info.h +++ b/include/deal.II/matrix_free/dof_info.h @@ -40,8 +40,11 @@ namespace internal { namespace MatrixFreeFunctions { + // Forward declaration +#ifndef DOXYGEN template struct ConstraintValues; +#endif /** * The class that stores the indices of the degrees of freedom for all the diff --git a/include/deal.II/meshworker/dof_info.h b/include/deal.II/meshworker/dof_info.h index d6f80b26f6..2f0222ee54 100644 --- a/include/deal.II/meshworker/dof_info.h +++ b/include/deal.II/meshworker/dof_info.h @@ -34,9 +34,11 @@ DEAL_II_NAMESPACE_OPEN namespace MeshWorker { + // Forward declaration +#ifndef DOXYGEN template class DoFInfoBox; - +#endif /** * A class containing information on geometry and degrees of freedom of a diff --git a/include/deal.II/meshworker/local_integrator.h b/include/deal.II/meshworker/local_integrator.h index 0a7cd2e209..11eec4c166 100644 --- a/include/deal.II/meshworker/local_integrator.h +++ b/include/deal.II/meshworker/local_integrator.h @@ -29,10 +29,13 @@ DEAL_II_NAMESPACE_OPEN namespace MeshWorker { + // Forward declarations +#ifndef DOXYGEN template class DoFInfo; template class IntegrationInfo; +#endif /** * A local integrator object, which can be used to simplify the call of diff --git a/include/deal.II/meshworker/local_results.h b/include/deal.II/meshworker/local_results.h index 0a0a74562a..42fc929491 100644 --- a/include/deal.II/meshworker/local_results.h +++ b/include/deal.II/meshworker/local_results.h @@ -30,7 +30,10 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN class BlockIndices; +#endif /** * A collection of functions and classes for the mesh loops that are an diff --git a/include/deal.II/meshworker/loop.h b/include/deal.II/meshworker/loop.h index b26fd27fd9..426abcf69a 100644 --- a/include/deal.II/meshworker/loop.h +++ b/include/deal.II/meshworker/loop.h @@ -33,8 +33,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class TriaActiveIterator; +#endif namespace internal { diff --git a/include/deal.II/meshworker/mesh_loop.h b/include/deal.II/meshworker/mesh_loop.h index 7c70471556..6e03cf2a30 100644 --- a/include/deal.II/meshworker/mesh_loop.h +++ b/include/deal.II/meshworker/mesh_loop.h @@ -36,8 +36,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class TriaActiveIterator; +#endif namespace MeshWorker { diff --git a/include/deal.II/meshworker/vector_selector.h b/include/deal.II/meshworker/vector_selector.h index b48ac074cb..3c8b061fe5 100644 --- a/include/deal.II/meshworker/vector_selector.h +++ b/include/deal.II/meshworker/vector_selector.h @@ -25,8 +25,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class FEValuesBase; +#endif namespace MeshWorker { diff --git a/include/deal.II/multigrid/mg_constrained_dofs.h b/include/deal.II/multigrid/mg_constrained_dofs.h index 1fbb8b2eac..eaa5ea9f03 100644 --- a/include/deal.II/multigrid/mg_constrained_dofs.h +++ b/include/deal.II/multigrid/mg_constrained_dofs.h @@ -29,8 +29,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class DoFHandler; +#endif /** diff --git a/include/deal.II/multigrid/mg_tools.h b/include/deal.II/multigrid/mg_tools.h index c38bfaf58b..1d3f6240d5 100644 --- a/include/deal.II/multigrid/mg_tools.h +++ b/include/deal.II/multigrid/mg_tools.h @@ -29,9 +29,12 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class DoFHandler; class MGConstrainedDoFs; +#endif /* !@addtogroup mg */ /* @{ */ diff --git a/include/deal.II/multigrid/mg_transfer_block.h b/include/deal.II/multigrid/mg_transfer_block.h index 883184287b..a601312367 100644 --- a/include/deal.II/multigrid/mg_transfer_block.h +++ b/include/deal.II/multigrid/mg_transfer_block.h @@ -37,8 +37,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class DoFHandler; +#endif /* * MGTransferBase is defined in mg_base.h diff --git a/include/deal.II/multigrid/mg_transfer_component.h b/include/deal.II/multigrid/mg_transfer_component.h index b2fe8e1fe9..82dbe7f1ac 100644 --- a/include/deal.II/multigrid/mg_transfer_component.h +++ b/include/deal.II/multigrid/mg_transfer_component.h @@ -38,9 +38,11 @@ DEAL_II_NAMESPACE_OPEN - +// Forward declaration +#ifndef DOXYGEN template class DoFHandler; +#endif /* * MGTransferBase is defined in mg_base.h diff --git a/include/deal.II/numerics/data_out_stack.h b/include/deal.II/numerics/data_out_stack.h index e4bcd73c66..4a063ca405 100644 --- a/include/deal.II/numerics/data_out_stack.h +++ b/include/deal.II/numerics/data_out_stack.h @@ -31,8 +31,11 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN template class DoFHandler; +#endif /** * This class is used to stack the output from several computations into one diff --git a/include/deal.II/numerics/error_estimator.h b/include/deal.II/numerics/error_estimator.h index 2e26f889ab..e8be29c6a8 100644 --- a/include/deal.II/numerics/error_estimator.h +++ b/include/deal.II/numerics/error_estimator.h @@ -30,7 +30,8 @@ DEAL_II_NAMESPACE_OPEN - +// Forward declarations +#ifndef DOXYGEN template class Mapping; template @@ -41,7 +42,7 @@ namespace hp template class QCollection; } - +#endif /** diff --git a/include/deal.II/numerics/fe_field_function.h b/include/deal.II/numerics/fe_field_function.h index 22efd14fee..f4c5182b77 100644 --- a/include/deal.II/numerics/fe_field_function.h +++ b/include/deal.II/numerics/fe_field_function.h @@ -35,10 +35,13 @@ DEAL_II_NAMESPACE_OPEN +// Forward declaration +#ifndef DOXYGEN namespace VectorTools { class ExcPointNotAvailableHere; } +#endif namespace Functions { diff --git a/include/deal.II/numerics/matrix_tools.h b/include/deal.II/numerics/matrix_tools.h index 016324e8b5..c61ac33373 100644 --- a/include/deal.II/numerics/matrix_tools.h +++ b/include/deal.II/numerics/matrix_tools.h @@ -37,6 +37,7 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +#ifndef DOXYGEN template class Quadrature; @@ -69,7 +70,7 @@ namespace hp } // namespace hp -#ifdef DEAL_II_WITH_PETSC +# ifdef DEAL_II_WITH_PETSC namespace PETScWrappers { class MatrixBase; @@ -80,9 +81,9 @@ namespace PETScWrappers class BlockVector; } // namespace MPI } // namespace PETScWrappers -#endif +# endif -#ifdef DEAL_II_WITH_TRILINOS +# ifdef DEAL_II_WITH_TRILINOS namespace TrilinosWrappers { class SparseMatrix; @@ -93,6 +94,7 @@ namespace TrilinosWrappers class BlockVector; } // namespace MPI } // namespace TrilinosWrappers +# endif #endif diff --git a/include/deal.II/numerics/time_dependent.h b/include/deal.II/numerics/time_dependent.h index 48670d5201..9fd42dded6 100644 --- a/include/deal.II/numerics/time_dependent.h +++ b/include/deal.II/numerics/time_dependent.h @@ -32,11 +32,13 @@ DEAL_II_NAMESPACE_OPEN // forward declarations +# ifndef DOXYGEN class TimeStepBase; template class Vector; template class Triangulation; +# endif /** * This class provides an abstract interface to time dependent problems in diff --git a/include/deal.II/numerics/vector_tools.h b/include/deal.II/numerics/vector_tools.h index 1b93154ea0..8767265fec 100644 --- a/include/deal.II/numerics/vector_tools.h +++ b/include/deal.II/numerics/vector_tools.h @@ -38,6 +38,8 @@ DEAL_II_NAMESPACE_OPEN +// Forward declarations +#ifndef DOXYGEN template class Function; template @@ -62,7 +64,7 @@ namespace hp } template class AffineConstraints; - +#endif // TODO: Move documentation of functions to the functions! diff --git a/include/deal.II/particles/particle_accessor.h b/include/deal.II/particles/particle_accessor.h index e773c62ec9..3ed3a58b04 100644 --- a/include/deal.II/particles/particle_accessor.h +++ b/include/deal.II/particles/particle_accessor.h @@ -26,10 +26,13 @@ DEAL_II_NAMESPACE_OPEN namespace Particles { + // Forward declarations +#ifndef DOXYGEN template class ParticleIterator; template class ParticleHandler; +#endif /** * Accessor class used by ParticleIterator to access particle data. diff --git a/include/deal.II/particles/particle_iterator.h b/include/deal.II/particles/particle_iterator.h index 0617d46835..b2f7f8e94c 100644 --- a/include/deal.II/particles/particle_iterator.h +++ b/include/deal.II/particles/particle_iterator.h @@ -24,8 +24,11 @@ DEAL_II_NAMESPACE_OPEN namespace Particles { + // Forward declaration +#ifndef DOXYGEN template class ParticleHandler; +#endif /** * A class that is used to iterate over particles. Together with the