Bot releases are hidden (Show)
This isn't a big update, it just adds the implicit cast operators from T*
to CastPtr<T, ...>
that weren't always being generated.
Published by rickbrew almost 2 years ago
This release removes the preview
designation, making this the first stable release.
Published by rickbrew almost 2 years ago
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.
Published by rickbrew over 2 years ago
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.
Published by rickbrew almost 3 years ago
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***
.
Published by rickbrew almost 3 years ago
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.
Published by rickbrew almost 3 years ago
This release adds a Get()
method to all of the Ptr
types, and fixes the PtrPtrPtr
types to have ***
instead of **
(copypasta error).
Published by rickbrew almost 3 years ago
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