Struct CalcSaver
This struct allows to not execute some code if some variables was not changed since the last check. Used for optimizations.
struct CalcSaver(Params...)
Reference types, arrays and pointers are compared by reference.
NOT USED
Fields
Type | Name | Description |
---|---|---|
Tup!Params |
values
|
Methods
Name | Description |
---|---|
check
(args)
|
Example
class A
{
}
CalcSaver!(uint, double[], A) saver;
uint x = 5;
double[] arr = [1, 2, 3];
A a = new A;
assert(saver .check(x, arr, a));
// values are not changing
assert(!saver .check(x, arr, a));
assert(!saver .check(x, arr, a));
assert(!saver .check(x, arr, a));
x = 8;
arr ~= 25;
// values are changed
assert(saver .check(x, arr, a));
assert(!saver .check(x, arr, a));
a = new A;
// values are changed
assert(saver .check(x, arr, a));
assert(!saver .check(x, arr, a));