OGS
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
x
z
Enumerations
b
c
d
e
f
g
i
l
m
n
o
p
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
l
m
n
p
r
s
t
v
y
Classes
Class List
Class Index
Class Hierarchy
Files
File List
File Members
All
a
b
c
d
e
f
g
i
k
m
n
o
p
r
s
t
v
w
x
Functions
a
c
d
e
f
g
i
m
o
p
r
s
t
v
w
Variables
Typedefs
Enumerations
Macros
b
c
g
m
n
o
p
r
s
t
OGS
OpenGeoSys 6.5.6-60-g286563613 source code documentation
OGS CTests—Project Files
OGS Input File Parameters—Quality Assurance
OGS Input File Parameters
BulkMappingDocuPage
Todo List
OGS Input File Parameters—List of incomplete documentation pages
Bibliography
Namespaces
Classes
Files
File List
Applications
BaseLib
build
ChemistryLib
Documentation
GeoLib
InfoLib
MaterialLib
MathLib
MeshGeoToolsLib
MeshLib
MeshToolsLib
NumLib
ParameterLib
ProcessLib
Assembly
BoundaryConditionAndSourceTerm
Common
ComponentTransport
ConstitutiveRelations
Deformation
Graph
HeatConduction
HeatTransportBHE
HMPhaseField
HT
HydroMechanics
LargeDeformation
ConstitutiveRelations
Base.h
ConstitutiveData.h
ConstitutiveModels.h
ConstitutiveSetting.cpp
ConstitutiveSetting.h
CreateConstitutiveSetting.cpp
CreateConstitutiveSetting.h
Gravity.cpp
Gravity.h
Invoke.h
MaterialState.h
SolidDensity.cpp
SolidDensity.h
SolidMechanics.cpp
SolidMechanics.h
CreateLargeDeformationProcess.cpp
CreateLargeDeformationProcess.h
CreateLocalAssemblers.h
IntegrationPointData.h
LargeDeformationFEM.h
LargeDeformationProcess.cpp
LargeDeformationProcess.h
LargeDeformationProcessData.h
LocalAssemblerInterface.h
LIE
LiquidFlow
Output
PhaseField
Reflection
RichardsComponentTransport
RichardsFlow
RichardsMechanics
SmallDeformation
SteadyStateDiffusion
SurfaceFlux
TH2M
ThermalTwoPhaseFlowWithPP
ThermoHydroMechanics
ThermoMechanics
ThermoRichardsFlow
ThermoRichardsMechanics
TwoPhaseFlowWithPP
Utils
WellboreSimulator
AbstractJacobianAssembler.h
AnalyticalJacobianAssembler.cpp
AnalyticalJacobianAssembler.h
AssemblyMixin.cpp
AssemblyMixin.h
CentralDifferencesJacobianAssembler.cpp
CentralDifferencesJacobianAssembler.h
CompareJacobiansJacobianAssembler.cpp
CompareJacobiansJacobianAssembler.h
CoupledSolutionsForStaggeredScheme.cpp
CoupledSolutionsForStaggeredScheme.h
CreateDeactivatedSubdomain.cpp
CreateDeactivatedSubdomain.h
CreateForwardDifferencesJacobianAssembler.cpp
CreateForwardDifferencesJacobianAssembler.h
CreateJacobianAssembler.cpp
CreateJacobianAssembler.h
CreateProcessData.cpp
CreateProcessData.h
CreateTimeLoop.cpp
CreateTimeLoop.h
DeactivatedSubdomain.cpp
DeactivatedSubdomain.h
ForwardDifferencesJacobianAssembler.cpp
ForwardDifferencesJacobianAssembler.h
LocalAssemblerInterface.cpp
LocalAssemblerInterface.h
LocalAssemblerTraits.h
Process.cpp
Process.h
ProcessData.cpp
ProcessData.h
ProcessVariable.cpp
ProcessVariable.h
SubmeshAssemblySupport.h
TimeLoop.cpp
TimeLoop.h
VariableTransformation.h
VectorMatrixAssembler.cpp
VectorMatrixAssembler.h
File Members
Invoke.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include <boost/mp11.hpp>
13
14
namespace
ProcessLib::LargeDeformation
15
{
16
namespace
detail
17
{
18
template
<
typename
Result,
typename
Class,
typename
... Args>
19
constexpr
bool
areEvalArgumentTypesUnique
(Result (Class::*)(Args...))
20
{
21
using namespace
boost::mp11
;
22
return
mp_is_set<
23
mp_transform<std::remove_cvref_t, mp_list<Args...>>>::value;
24
}
19
constexpr
bool
areEvalArgumentTypesUnique
(Result (Class::*)(Args...)) {
…
}
25
26
template
<
typename
Result,
typename
Class,
typename
... Args>
27
constexpr
bool
areEvalArgumentTypesUnique
(Result (Class::*)(Args...)
const
)
28
{
29
using namespace
boost::mp11
;
30
return
mp_is_set<
31
mp_transform<std::remove_cvref_t, mp_list<Args...>>>::value;
32
}
33
}
// namespace detail
16
namespace
detail
{
…
}
34
40
template
<
typename
T>
41
constexpr
bool
areEvalArgumentTypesUnique
()
42
{
43
return
detail::areEvalArgumentTypesUnique
(&T::eval);
44
}
41
constexpr
bool
areEvalArgumentTypesUnique
() {
…
}
45
48
template
<
typename
Model>
49
constexpr
void
assertEvalArgsUnique
(Model
const
&)
50
{
51
static_assert
(
areEvalArgumentTypesUnique<std::remove_cvref_t<Model>
>());
52
}
49
constexpr
void
assertEvalArgsUnique
(Model
const
&) {
…
}
53
54
}
// namespace ProcessLib::LargeDeformation
ProcessLib::LargeDeformation::detail::areEvalArgumentTypesUnique
constexpr bool areEvalArgumentTypesUnique(Result(Class::*)(Args...))
Definition
Invoke.h:19
ProcessLib::LargeDeformation
Definition
Base.h:21
ProcessLib::LargeDeformation::areEvalArgumentTypesUnique
constexpr bool areEvalArgumentTypesUnique()
Definition
Invoke.h:41
ProcessLib::LargeDeformation::assertEvalArgsUnique
constexpr void assertEvalArgsUnique(Model const &)
Definition
Invoke.h:49
boost::mp11
Definition
BoostMP11Utils.h:15
detail
Definition
ElementCoordinatesMappingLocal.cpp:22
ProcessLib
LargeDeformation
ConstitutiveRelations
Invoke.h
Generated by
1.14.0