memoize

Undocumented in source.

Members

Mixin templates

CachedProperty
mixintemplate CachedProperty(string name, string baseName = '_' ~ name)

The following code makes cached (memoized) property f

Templates

memoize
template memoize(alias fun)
template memoize(alias fun, uint maxSize)

The same as in Phobos std.functional.

memoizeMember
template memoizeMember(S, string name)
template memoizeMember(S, string name, uint maxSize)

Use it to memoize both a struct or class instance for a member function and function arguments like:

noLockMemoize
template noLockMemoize(alias fun)

must be locked explicitly!

noLockMemoize
template noLockMemoize(alias fun, uint maxSize)

must be locked explicitly!

noLockMemoizeMember
template noLockMemoizeMember(S, string name)
template noLockMemoizeMember(S, string name, uint maxSize)

Use it to memoize both a struct or class instance for a member function and function arguments like:

referenceMemoize
template referenceMemoize(alias fun)
Undocumented in source.
referenceMemoize
template referenceMemoize(alias fun, uint maxSize)
Undocumented in source.
referenceMemoizeMember
template referenceMemoizeMember(S, string name)
Undocumented in source.
referenceMemoizeMember
template referenceMemoizeMember(S, string name, uint maxSize)
Undocumented in source.
referenceNoLockMemoize
template referenceNoLockMemoize(alias fun)
Undocumented in source.
referenceNoLockMemoize
template referenceNoLockMemoize(alias fun, uint maxSize)
Undocumented in source.
referenceNoLockMemoizeMember
template referenceNoLockMemoizeMember(S, string name)
Undocumented in source.
referenceNoLockMemoizeMember
template referenceNoLockMemoizeMember(S, string name, uint maxSize)
Undocumented in source.
referenceSynchronizedMemoize
template referenceSynchronizedMemoize(alias fun)
Undocumented in source.
referenceSynchronizedMemoize
template referenceSynchronizedMemoize(alias fun, uint maxSize)
Undocumented in source.
referenceSynchronizedMemoizeMember
template referenceSynchronizedMemoizeMember(S, string name, uint maxSize)
Undocumented in source.
referenceSynchronizedMemoizeMember
template referenceSynchronizedMemoizeMember(S, string name)
Undocumented in source.
synchronizedMemoize
template synchronizedMemoize(alias fun)
template synchronizedMemoize(alias fun, uint maxSize)

Synchronized version of memoize using global (interthread) cache.

synchronizedMemoizeMember
template synchronizedMemoizeMember(S, string name)
template synchronizedMemoizeMember(S, string name, uint maxSize)

Use it to memoize both a struct or class instance for a member function and function arguments like:

Meta