Loading...
Searching...
No Matches
newton_add_missing.h File Reference

Go to the source code of this file.

## Classes

class | add_adapt< Problem, std::true_type >
class | add_adapt< Problem, std::false_type >
class | add_refresh< Problem, std::true_type >
class | add_refresh< Problem, std::false_type >
class | add_direction< Problem, std::true_type >
class | add_direction< Problem, std::false_type >
class | add_space_norm< Problem, std::true_type >
class | add_space_norm< Problem, std::false_type >
class | add_dual_space_norm< Problem, std::true_type >
class | add_dual_space_norm< Problem, std::false_type >
class | add_missing_damped_newton< Problem >
class | add_missing_continuation< Problem >

## Namespaces

namespace | rheolef
| This file is part of Rheolef.
namespace | rheolef::details

## Macros

#define | _RHEOLEF_has_inherited_member_macro(NAME)

## Functions

| _RHEOLEF_has_inherited_member_macro (adapt) template< class Problem
| _RHEOLEF_has_inherited_member_macro (refresh) template< class Problem
| _RHEOLEF_has_inherited_member_macro (direction) template< class Problem
| _RHEOLEF_has_inherited_member_macro (space_norm) template< class Problem
| _RHEOLEF_has_inherited_member_macro (dual_space_norm) template< class Problem

## Macro Definition Documentation

## _RHEOLEF_has_inherited_member_macro

#define _RHEOLEF_has_inherited_member_macro | ( |  | NAME | ) |

Value:
template <typename Type> \
class has_inherited_member_##NAME { \
class yes { char m;}; \
class no { yes m[2];}; \
struct base_mixin { void NAME(){} }; \
struct base : public Type, public base_mixin {}; \
template <typename T, T t> class helper{}; \
template <typename U> \
static no deduce(U*, helper<void (base_mixin::*)(), &U::NAME>* = 0); \
static yes deduce(...); \
public: \
static const bool value = sizeof(yes) == sizeof(deduce((base*)(0))); \
typedef std::integral_constant<bool, value> type; \
};

Definition at line 46 of file newton_add_missing.h.