ALPSCore reference
Classes | Namespaces | Macros
feature.hpp File Reference
#include <alps/config.hpp>
#include <alps/numeric/inf.hpp>
#include <alps/numeric/check_size.hpp>
#include <alps/numeric/vector_functions.hpp>
#include <alps/numeric/boost_array_functions.hpp>
#include "alps/numeric/scalar.hpp"
#include "alps/type_traits/is_scalar.hpp"
#include <boost/utility.hpp>
#include <type_traits>
Include dependency graph for feature.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  alps::accumulators::has_feature< T, F >
 
struct  alps::accumulators::has_result_type< T >
 
struct  alps::accumulators::has_operator_add< T, U >
 
struct  alps::accumulators::has_operator_sub< T, U >
 
struct  alps::accumulators::has_operator_mul< T, U >
 
struct  alps::accumulators::has_operator_div< T, U >
 
struct  alps::accumulators::value_type< T >
 
struct  alps::accumulators::impl::ResultBase< T >
 
class  alps::accumulators::impl::AccumulatorBase< T >
 
class  alps::accumulators::impl::Accumulator< T, F, B >
 
class  alps::accumulators::impl::Result< T, F, B >
 
class  alps::accumulators::impl::BaseWrapper< T, F, B >
 
class  alps::accumulators::impl::DerivedWrapper< A, F, B >
 
struct  alps::accumulators::impl::is_accumulator< T >
 
struct  alps::accumulators::impl::is_accumulator< Accumulator< T, tag, B > >
 

Namespaces

 alps
 
 alps::accumulators
 
 alps::accumulators::impl
 

Macros

#define NUMERIC_FUNCTION_OPERATOR(OP_NAME, OP, OP_TOKEN)
 

Macro Definition Documentation

#define NUMERIC_FUNCTION_OPERATOR (   OP_NAME,
  OP,
  OP_TOKEN 
)
Value:
namespace detail { \
using ::alps::numeric:: OP_NAME ; \
template<typename T, typename U> struct has_operator_ ## OP_TOKEN ## _impl { \
template<typename R> static char helper(R); \
template<typename C, typename D> static char check(std::integral_constant<std::size_t, sizeof(helper(C() OP D()))>*); \
template<typename C, typename D> static double check(...); \
typedef std::integral_constant<bool, sizeof(char) == sizeof(check<T, U>(0))> type; \
}; \
} \
template<typename T, typename U> struct has_operator_ ## OP_TOKEN : public detail::has_operator_ ## OP_TOKEN ## _impl<T, U> {};

Definition at line 41 of file feature.hpp.