* classify and sort the doxygen "related pages"

by tweaking the filename and adding 2 categories:
   Troubleshooting and Advanced
* use the EXCLUDE_SYMBOLS to clean the class list
  (insteaded of a homemade bash script)
* remove the broken "exemple list"
* re-structure the unsupported directory as mentionned in the ML and
  integrate the doc as follow:
  - snippets of the unsupported directory are directly imported from the
    main snippets/CMakefile.txt (no need to duplicate code)
  - add a top level "Unsupported modules" group
  - unsupported modules have to defined their own sub group and nest it
    using \ingroup Unsupported_modules
  - then a pair of //@{ //@} will put everything in the submodule
  - this is just a proposal !
This commit is contained in:
Gael Guennebaud 2009-02-04 09:44:44 +00:00
parent b0dd22cc72
commit 44a527dfa5
21 changed files with 90 additions and 49 deletions

View File

@ -54,7 +54,7 @@
// DOXYGEN_SET_WARN_IF_UNDOCUMENTED = NO
// DOXYGEN_SET_WARN_NO_PARAMDOC = NO
// DOXYGEN_SET_INPUT = @topdir@/eigen2/Eigen @topdir@/eigen2/doc @topdir@/eigen2/build/doc
// DOXYGEN_SET_INPUT = @topdir@/eigen2/Eigen @topdir@/eigen2/doc @topdir@/eigen2/build/doc @topdir@/eigen2/unsupported/Eigen
// DOXYGEN_SET_EXCLUDE = *.sh *.in
// DOXYGEN_SET_EXAMPLE_PATH = @topdir@/eigen2/doc/snippets/ @topdir@/eigen2/doc/examples/ @topdir@/eigen2/build/doc/examples/ @topdir@/eigen2/build/doc/snippets/
@ -63,6 +63,8 @@
// DOXYGEN_SET_RECURSIVE = NO
// DOXYGEN_SET_FILTER_SOURCE_FILES = YES
// DOXYGEN_EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
// DOXYGEN_SET_SOURCE_BROWSER = NO
// DOXYGEN_SET_INLINE_SOURCES = NO
// DOXYGEN_SET_STRIP_CODE_COMMENTS = YES

View File

@ -38,9 +38,7 @@ add_custom_target(
${CMAKE_CURRENT_BINARY_DIR}/html/
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png
${CMAKE_CURRENT_BINARY_DIR}/html/
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${Eigen_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
COMMAND doxygen
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cleanhierarchy.sh ${CMAKE_CURRENT_BINARY_DIR}/html/hierarchy.html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page StlContainers Using STL Containers with Eigen
/** \page StlContainers Troubleshooting - Using STL Containers with Eigen
\b Table \b of \b contents
- \ref summary

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page PassingByValue Passing Eigen objects by value to functions
/** \page PassingByValue Troubleshooting - Passing Eigen objects by value to functions
Passing objects by value is almost always a very bad idea in C++, as this means useless copies, and one should pass them by reference instead.

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page StructHavingEigenMembers Structures Having Eigen Members
/** \page StructHavingEigenMembers Troubleshooting - Structures Having Eigen Members
\b Table \b of \b contents
- \ref summary

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page UnalignedArrayAssert Explanation of the assertion on unaligned arrays
/** \page UnalignedArrayAssert Troubleshooting - Explanation of the assertion on unaligned arrays
Hello! You are seeing this webpage because your program terminated on an assertion failure like this one:
<pre>

View File

@ -564,7 +564,9 @@ WARN_LOGFILE =
INPUT = "${Eigen_SOURCE_DIR}/Eigen" \
"${Eigen_SOURCE_DIR}/doc" \
"${Eigen_BINARY_DIR}/doc"
"${Eigen_BINARY_DIR}/doc" \
"${Eigen_SOURCE_DIR}/unsupported/Eigen" \
"${Eigen_SOURCE_DIR}/unsupported/doc"
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ -618,7 +620,7 @@ EXCLUDE_PATTERNS = CMake* \
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page CustomizingEigen Customizing/Extending Eigen
/** \page CustomizingEigen Advanced - Customizing/Extending Eigen
Eigen2 can be extended in several ways, for instance, by defining global methods, \ref ExtendingMatrixBase "by adding custom methods to MatrixBase", adding support to \ref CustomScalarType "custom types" etc.

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page TopicLazyEvaluation Lazy Evaluation and Aliasing
/** \page TopicLazyEvaluation Advanced - Lazy Evaluation and Aliasing
Executive summary: Eigen has intelligent compile-time mechanisms to enable lazy evaluation and removing temporaries where appropriate.
It will handle aliasing automatically in most cases, for example with matrix products. The automatic behavior can be overridden

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page InsideEigenExample What happens inside Eigen, on a simple example
/** \page InsideEigenExample Advanced - What happens inside Eigen, on a simple example
\b Table \b of \b contents
- \ref WhyInteresting

View File

@ -1,6 +1,6 @@
namespace Eigen {
/** \page FixedSizeVectorizable Fixed-size vectorizable Eigen objects
/** \page FixedSizeVectorizable Advanced - Fixed-size vectorizable Eigen objects
The goal of this page is to explain what we mean by "fixed-size vectorizable".

View File

@ -1,25 +1,25 @@
FILE(GLOB snippets_SRCS "*.cpp")
FILE(GLOB snippets_SRCS "*.cpp" "../../unsupported/snippets/*.cpp")
ADD_CUSTOM_TARGET(all_snippets)
FOREACH(snippet_src ${snippets_SRCS})
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
SET(compile_snippet_target compile_${snippet})
SET(compile_snippet_src ${compile_snippet_target}.cpp)
FILE(READ ${snippet_src} snippet_source_code)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
ADD_EXECUTABLE(${compile_snippet_target}
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
GET_TARGET_PROPERTY(compile_snippet_executable
${compile_snippet_target} LOCATION)
ADD_CUSTOM_COMMAND(
TARGET ${compile_snippet_target}
POST_BUILD
COMMAND ${compile_snippet_executable}
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
)
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
PROPERTIES OBJECT_DEPENDS ${snippet_src})
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
SET(compile_snippet_target compile_${snippet})
SET(compile_snippet_src ${compile_snippet_target}.cpp)
FILE(READ ${snippet_src} snippet_source_code)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
ADD_EXECUTABLE(${compile_snippet_target}
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
GET_TARGET_PROPERTY(compile_snippet_executable
${compile_snippet_target} LOCATION)
ADD_CUSTOM_COMMAND(
TARGET ${compile_snippet_target}
POST_BUILD
COMMAND ${compile_snippet_executable}
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
)
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
PROPERTIES OBJECT_DEPENDS ${snippet_src})
ENDFOREACH(snippet_src)

View File

@ -22,8 +22,8 @@
// License and a copy of the GNU General Public License along with
// Eigen. If not, see <http://www.gnu.org/licenses/>.
#ifndef EIGEN_ADLOC_FORWARD_H
#define EIGEN_ADLOC_FORWARD_H
#ifndef EIGEN_ADLOC_FORWARD
#define EIGEN_ADLOC_FORWARD
//--------------------------------------------------------------------------------
//
@ -59,20 +59,29 @@
namespace Eigen {
template<> struct NumTraits<adtl::adouble>
{
typedef adtl::adouble Real;
typedef adtl::adouble FloatingPoint;
enum {
IsComplex = 0,
HasFloatingPoint = 1,
ReadCost = 1,
AddCost = 1,
MulCost = 1
};
};
namespace unsupported {
}
/** \ingroup Unsupported_modules
* \defgroup AdolcForward_Module Adolc forward module
* This module provides support for adolc's adouble type in forward mode.
* ADOL-C is a C++ automatic differentiation library,
* see http://www.math.tu-dresden.de/~adol-c/ for more information.
* It mainly consists in:
* - a struct Eigen::NumTraits<adtl::adouble> specialization
* - overloads of ei_* math function for adtl::adouble type.
*
* Note that the maximal number of directions is controlled by
* the preprocessor token NUMBER_DIRECTIONS. The default is 2.
*
* \code
* #include <unsupported/Eigen/AdolcSupport>
* \endcode
*/
//@{
} // namespace unsupported
} // namespace Eigen
// the Adolc's type adouble is defined in the adtl namespace
// therefore, the following ei_* functions *must* be defined
@ -93,4 +102,19 @@ namespace adtl {
}
#endif // EIGEN_ADLOC_FORWARD_H
namespace Eigen { namespace unsupported { /*@}*/ } }
template<> struct EigenNumTraits<adtl::adouble>
{
typedef adtl::adouble Real;
typedef adtl::adouble FloatingPoint;
enum {
IsComplex = 0,
HasFloatingPoint = 1,
ReadCost = 1,
AddCost = 1,
MulCost = 1
};
};
#endif // EIGEN_ADLOC_FORWARD

View File

@ -0,0 +1,15 @@
namespace Eigen {
namespace unsupported {
/** \defgroup Unsupported_modules Unsupported modules
*
* The unsupported modules are contributions from various users. They are
* provided "as is", without any support. Nevertheless, they are subject to be
* included in Eigen in the future.
*/
} // namespace unsupported
} // namespace Eigen