Sirenix.Serialization.Utilities namespace


Provides an easy way of claiming and freeing cached values of any non-abstract reference type with a public parameterless constructor.

Cached types which implement the Sirenix.Serialization.Utilities.ICacheNotificationReceiver interface will receive notifications when they are claimed and freed.

Only one thread should be holding a given cache instance at a time if Sirenix.Serialization.Utilities.ICacheNotificationReceiver is implemented, since the invocation of Sirenix.Serialization.Utilities.ICacheNotificationReceiver.OnFreed is not thread safe, IE, weird stuff might happen if multiple different threads are trying to free the same cache instance at the same time. This will practically never happen unless you're doing really strange stuff, but the case is documented here.

Compares types by reference before comparing them using the default type equality operator. This can constitute a *significant* speedup when used as the comparer for dictionaries.
Not yet documented.
Immutable list wraps another list, and allows for reading the inner list, without the ability to change it.