Commit 17dc58c7 authored by Jakub Klinkovský's avatar Jakub Klinkovský Committed by Tomáš Oberhuber

Fixed references to SFINAE-enabled functions

parent 1cd1b74e
......@@ -503,7 +503,7 @@ HIDE_UNDOC_CLASSES = NO
# included in the documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
HIDE_FRIEND_COMPOUNDS = YES
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
# documentation blocks found inside the body of a function. If set to NO, these
......@@ -580,7 +580,7 @@ SORT_MEMBER_DOCS = YES
# this will also influence the order of the classes in the class list.
# The default value is: NO.
SORT_BRIEF_DOCS = NO
SORT_BRIEF_DOCS = YES
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
......@@ -592,7 +592,7 @@ SORT_BRIEF_DOCS = NO
# detailed member documentation.
# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = NO
SORT_MEMBERS_CTORS_1ST = YES
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
# of group names into alphabetical order. If set to NO the group names will
......@@ -2118,8 +2118,9 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = HAVE_MPI=1
HAVE_CUDA=1
PREDEFINED = DOXYGEN_ONLY
PREDEFINED += HAVE_MPI
PREDEFINED += HAVE_CUDA
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
......
......@@ -74,7 +74,7 @@ The result is:
\include ScalarProductExample.out
Scalar product of vectors `u` and `v` can be in TNL computed by [`dot(u,v)`](../html/namespaceTNL.html#ab49c6303cbe48c65ca350389460c2e40) or simply as [`(u,v)`](@ref Containers_operator_scalar_product_vector_et).
Scalar product of vectors `u` and `v` in TNL can be computed by \ref TNL::dot "TNL::dot(u, v)" or simply as \ref TNL::Containers::operator, "(u, v)".
### Maxium norm<a name="flexible_parallel_reduction_maximum_norm"></a>
......@@ -86,7 +86,7 @@ The output is:
\include MaximumNormExample.out
Maximum norm in TNL computes function @ref TNL::maxNorm "TNL::maxNorm".
Maximum norm in TNL is computed by the function \ref TNL::maxNorm.
### Vectors comparison<a name="flexible_parallel_reduction_vector_comparison"></a>
......
......@@ -9,6 +9,7 @@
/* See Copyright Notice in tnl/Copyright */
#pragma once
#ifndef DOXYGEN_ONLY
#include <TNL/Containers/Expressions/DistributedExpressionTemplates.h>
......@@ -932,3 +933,4 @@ binaryAnd( const Containers::DistributedVector< Real, Device, Index, Communicato
}
} // namespace TNL
#endif // DOXYGEN_ONLY
......@@ -9,6 +9,7 @@
/* See Copyright Notice in tnl/Copyright */
#pragma once
#ifndef DOXYGEN_ONLY
#include <TNL/Containers/Expressions/DistributedExpressionTemplates.h>
#include <TNL/Exceptions/NotImplementedError.h>
......@@ -714,3 +715,4 @@ binaryAnd( const Containers::DistributedVectorView< Real, Device, Index, Communi
}
} // namespace TNL
#endif // DOXYGEN_ONLY
......@@ -312,6 +312,8 @@ std::ostream& operator<<( std::ostream& str, const DistributedUnaryExpressionTem
////
// Operators are supposed to be in the same namespace as the expression templates
#ifndef DOXYGEN_ONLY
////
// Binary expressions addition
template< typename L1,
......@@ -1231,12 +1233,16 @@ operator,( const DistributedBinaryExpressionTemplate< L1, L2, LOperation >& a,
return DistributedExpressionSum( a * b );
}
#endif // DOXYGEN_ONLY
} // namespace Expressions
} // namespace Containers
////
// All operations are supposed to be in namespace TNL
#ifndef DOXYGEN_ONLY
////
// Binary expression min
template< typename L1,
......@@ -2179,6 +2185,8 @@ dot( const Containers::Expressions::DistributedBinaryExpressionTemplate< L1, L2,
return (a, b);
}
#endif // DOXYGEN_ONLY
////
// Evaluation with reduction
......
......@@ -235,6 +235,8 @@ std::ostream& operator<<( std::ostream& str, const UnaryExpressionTemplate< T, O
////
// Operators are supposed to be in the same namespace as the expression templates
#ifndef DOXYGEN_ONLY
////
// Binary expressions addition
template< typename L1,
......@@ -1154,12 +1156,16 @@ operator,( const BinaryExpressionTemplate< L1, L2, LOperation >& a,
return ExpressionSum( a * b );
}
#endif // DOXYGEN_ONLY
} // namespace Expressions
} // namespace Containers
////
// All operations are supposed to be in namespace TNL
#ifndef DOXYGEN_ONLY
////
// Binary expression min
template< typename L1,
......@@ -2102,6 +2108,8 @@ dot( const Containers::Expressions::BinaryExpressionTemplate< L1, L2, LOperation
return (a, b);
}
#endif // DOXYGEN_ONLY
////
// Evaluation with reduction
......
......@@ -242,6 +242,8 @@ protected:
const T1& operand;
};
#ifndef DOXYGEN_ONLY
////
// Binary expressions addition
template< typename L1,
......@@ -1244,6 +1246,8 @@ operator,( const StaticBinaryExpressionTemplate< L1, L2, LOperation >& a,
return StaticExpressionSum( a * b );
}
#endif // DOXYGEN_ONLY
////
// Output stream
template< typename T1,
......@@ -1275,6 +1279,8 @@ std::ostream& operator<<( std::ostream& str, const StaticUnaryExpressionTemplate
////
// All operations are supposed to be in namespace TNL
#ifndef DOXYGEN_ONLY
////
// Binary expression min
template< typename L1,
......@@ -2269,6 +2275,8 @@ dot( const Containers::Expressions::StaticBinaryExpressionTemplate< L1, L2, LOpe
return (a, b);
}
#endif // DOXYGEN_ONLY
////
// Evaluation with reduction
template< typename Vector,
......
......@@ -9,6 +9,7 @@
/* See Copyright Notice in tnl/Copyright */
#pragma once
#ifndef DOXYGEN_ONLY
#include <TNL/Containers/Expressions/StaticExpressionTemplates.h>
......@@ -770,3 +771,4 @@ binaryAnd( const Containers::StaticVector< Size, Real >& a )
}
} // namespace TNL
#endif // DOXYGEN_ONLY
......@@ -497,13 +497,19 @@ operator-( const Vector< Real, Device, Index, Allocator >& a )
////
// Scalar product
#ifdef DOXYGEN_ONLY
/**
* \brief Computes scalar product of vector and vector expression.
*
* @param a input vector
* @param b input vector expression
* @return scalar product of vector and vector expression
* \brief Computes scalar product of two vectors or vector expressions. Equivalent to \ref TNL::dot.
*
* @param a input vector or vector expression
* @param b input vector or vector expression
* @return scalar product of \e a and \e b.
*/
template< typename ET1, typename ET2 >
Real
operator,( const ET1& a, const ET2& b ) {}
#else
template< typename Real, typename Device, typename Index, typename Allocator, typename ET,
typename..., typename = std::enable_if_t< Expressions::IsNumericExpression<ET>::value > >
Real
......@@ -540,6 +546,7 @@ operator,( const Vector< Real1, Device, Index, Allocator >& a, const VectorView<
{
return Expressions::ExpressionSum( a.getConstView() * b.getConstView() );
}
#endif // DOXYGEN_ONLY
} //namespace Containers
......@@ -642,13 +649,19 @@ max( const Containers::Vector< Real1, Device, Index, Allocator >& a, const Conta
////
// Dot product - the same as scalar product, just for convenience
#ifdef DOXYGEN_ONLY
/**
* \brief Computes scalar product of vector and vector expression.
* \brief Computes scalar product of vector and vector expression. Equivalent to \ref TNL::Containers::operator,.
*
* @param a input vector
* @param b input vector expression
* @return scalar product of vector and vector expression
*/
template< typename ET1, typename ET2 >
auto
dot( const ET1& a, const ET2& b ) {}
#else
template< typename Real, typename Device, typename Index, typename Allocator, typename ET,
typename..., typename = std::enable_if_t< Containers::Expressions::IsNumericExpression<ET>::value > >
auto
......@@ -685,6 +698,7 @@ dot( const Containers::Vector< Real1, Device, Index, Allocator >& a, const Conta
{
return (a, b);
}
#endif // DOXYGEN_ONLY
////
......@@ -983,6 +997,7 @@ sum( const Containers::Vector< Real, Device, Index, Allocator >& a )
/**
* \brief Computes maximum norm of a vector.
* \anchor TNL__maxNorm
*
* @param a input vector
* @return maximum norm
......
......@@ -9,6 +9,7 @@
/* See Copyright Notice in tnl/Copyright */
#pragma once
#ifndef DOXYGEN_ONLY
#include <TNL/Containers/Expressions/ExpressionTemplates.h>
......@@ -736,3 +737,4 @@ binaryAnd( const Containers::VectorView< Real, Device, Index >& a )
}
} // namespace TNL
#endif // DOXYGEN_ONLY
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment