Skip to content
Lets you pass anything using reference semantics without the danger of unsafe pointers
Swift
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
.swiftpm/xcode/package.xcworkspace
Sources/SafePointer
Tests
.gitignore
LICENSE.txt
Package.swift
README.md

README.md

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.

You can’t perform that action at this time.