Exemplo n.º 1
0
        static bool P_ValT_ValueUpdater <T>(MuttableVh <T> valueStore, Transform <T> transform)
            where T : struct
        {
            transform.EnsureNotNull(nameof(transform));
            //
            var currentVersion = valueStore.ReadDA(ref valueStore._value);
            var newValue       = transform(currentVersion);

            if (EqualityComparer <T> .Default.Equals(x: currentVersion, y: newValue))
            {
                return(false);
            }
            else
            {
                VolatileUtilities.Write(ref valueStore._value, newValue);
                valueStore.EnsureNotDisposeState();
                return(true);
            }
        }
Exemplo n.º 2
0
 static bool P_RefT_ValueUpdater <T>(MuttableVh <T> valueStore, Transform <T> transform)
     where T : class
 {
     //
     return(valueStore.UpdDABool(location: ref valueStore._value, transform: transform));
 }
Exemplo n.º 3
0
 static T P_RefT_ValueSetter <T>(MuttableVh <T> valueStore, T value)
     where T : class
 => valueStore.WriteDA(ref valueStore._value, value);