|
@@ -274,12 +274,13 @@ private:
|
|
};
|
|
};
|
|
|
|
|
|
template < typename T, typename U, typename V, typename W >
|
|
template < typename T, typename U, typename V, typename W >
|
|
-struct IN_t
|
|
|
|
|
|
+struct IN_SC_t
|
|
{
|
|
{
|
|
- IN_t(AbstractCoupledModel < T, U, V, W >* model,
|
|
|
|
- unsigned int index) : model(model), index(index)
|
|
|
|
|
|
+ IN_SC_t(double t, AbstractCoupledModel < T, U, V, W >* model,
|
|
|
|
+ unsigned int index) : t(t), model(model), index(index)
|
|
{ }
|
|
{ }
|
|
|
|
|
|
|
|
+ double t;
|
|
AbstractCoupledModel < T, U, V, W >* model;
|
|
AbstractCoupledModel < T, U, V, W >* model;
|
|
unsigned int index;
|
|
unsigned int index;
|
|
};
|
|
};
|
|
@@ -307,9 +308,9 @@ struct OUT_A_t
|
|
};
|
|
};
|
|
|
|
|
|
template < typename T, typename U, typename V, typename W >
|
|
template < typename T, typename U, typename V, typename W >
|
|
-IN_t < T, U, V, W > IN(AbstractCoupledModel < T, U, V, W >* model,
|
|
|
|
|
|
+IN_SC_t < T, U, V, W > IN(double t, AbstractCoupledModel < T, U, V, W >* model,
|
|
unsigned int index)
|
|
unsigned int index)
|
|
-{ return IN_t < T, U, V, W >(model, index); }
|
|
|
|
|
|
+{ return IN_SC_t < T, U, V, W >(t, model, index); }
|
|
|
|
|
|
template < typename T, typename U, typename V, typename W >
|
|
template < typename T, typename U, typename V, typename W >
|
|
OUT_SC_t < T, U, V, W > OUT(double t,
|
|
OUT_SC_t < T, U, V, W > OUT(double t,
|
|
@@ -323,16 +324,16 @@ OUT_A_t < T > OUT(double t, T value)
|
|
|
|
|
|
template < typename T1, typename U1, typename V1, typename W1,
|
|
template < typename T1, typename U1, typename V1, typename W1,
|
|
typename T2, typename U2, typename V2, typename W2 >
|
|
typename T2, typename U2, typename V2, typename W2 >
|
|
-void operator>>(OUT_SC_t < T2, U2, V2, W2 > out, IN_t < T1, U1, V1, W1 > in)
|
|
|
|
|
|
+void operator>>(OUT_SC_t < T2, U2, V2, W2 > out, IN_SC_t < T1, U1, V1, W1 > in)
|
|
{
|
|
{
|
|
- if (out.model->is_computed(out.t, out.index)) {
|
|
|
|
- in.model->put(out.t, in.index, out.model->get(out.t, out.index));
|
|
|
|
- }
|
|
|
|
|
|
+ if (out.model->is_computed(out.t, out.index)) {
|
|
|
|
+ in.model->put(in.t, in.index, out.model->get(out.t, out.index));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
template < typename T, typename U, typename V, typename W, typename Z >
|
|
template < typename T, typename U, typename V, typename W, typename Z >
|
|
-void operator>>(OUT_A_t < Z > out, IN_t < T, U, V, W > in)
|
|
|
|
-{ in.model->put(out.t, in.index, out.value); }
|
|
|
|
|
|
+void operator>>(OUT_A_t < Z > out, IN_SC_t < T, U, V, W > in)
|
|
|
|
+{ in.model->put(in.t, in.index, out.value); }
|
|
|
|
|
|
} }
|
|
} }
|
|
|
|
|