Skip to content

Lets you pass anything using reference semantics without the danger of unsafe pointers

License

Notifications You must be signed in to change notification settings

RougeWare/Swift-Safe-Pointer

Repository files navigation

CodeFactor

SafePointer

Lets you pass anything using reference semantics without the danger of unsafe pointers.

Do note that this is more of a conceptual pointer; one which points to some instance. This acknowledges no concept of memory addresses nor traversing memory. For that, you can use Swift's built-in UnsafePointer and its sisters.

Kinds

  • SafePointer: A pointer which carries no danger in its use. If there's a crash, it won't be SafePointer's fault!

  • MutableSafePointer: A mutable version of SafePointer. Also lets you provide a did-set listener!

  • And a framework for building your own kinds of pointers!

Compatibility

In version 1.0.0, the key file was located at ./SafePointer (Swift Package)/Sources/SafePointer/SafePointer.swift. Now, it is located at ./Sources/SafePointer/SafePointer.swift. Because the location of the file in the repo changed entirely, the version number was changed to 2.0.0, although the API has not changed at all since 1.0.0. As long as you make your project point to SafePointer.swift, it will be precisely the same in 2.0.0 as it was in 1.0.0.