Releases: rickbrew/PointerToolkit
v1.0.1
v1.0.0
v1.0.0-preview8
This releases increases the number of generated CastPtr<T, TBase1, ..., TBaseN>
structs from 12 to 16. The latest version of TerraFX.Interop.Windows adds support for some new COM interfaces, and so the new version of PointerToolkit.TerraFX.Interop.Windows now requires support for 13 base interfaces.
v1.0.0-preview7
This release fleshes out the Ptr
structs by marking them as readonly
and adding all of the comparison operators (>
, >=
, <
, <=
), arithmetic operators (+
, -
), and casting operators that you would expect/need for pointers. Indexers are also now provided. There's now a Value
property on each struct, which permits you to pass a pointer into an iterator or into async
code and use it (using Get()
wouldn't work since it returns a pointer). ToString()
methods are provided which default to hex notation (e.g. 0x123456789ABCDEF
), and IFormattable
is also implemented.
v1.0.0-preview6
This release adds UnsafePtr.AddByteOffset()
and SubtractByteOffset()
, and reworks UnsafePtr.AsPointer()
to return pointers, not ref pointers. The latter returns a pointer with the same level of indirection as the input parameter, so ref T
-> T*
(same as Unsafe.AsPointer()
but strongly-typed), ref T*
-> T**
, and ref T**
-> T***
.
v1.0.0-preview5
This release adds the PtrOperators
class, meant to be used in conjunction with a global using static PointerToolkit.PtrOperators;
statment. See the README.md
for an example of where this is useful.
v1.0.0-preview4
This release adds a Get()
method to all of the Ptr
types, and fixes the PtrPtrPtr
types to have ***
instead of **
(copypasta error).
v1.0.0-preview3
Initial release.
Also available as a NuGet package, https://www.nuget.org/packages/PointerToolkit/
Full Changelog: https://github.com/rickbrew/PointerToolkit/commits/1.0.0-preview3