Owner
Owner
class Owner
Enum of different types of ownership for an object.
BCS
The BCS serialized form for this type is defined by the following ABNF:
owner = owner-address / owner-object / owner-shared / owner-immutable
owner-address = %d00 address
owner-object = %d01 object-id
owner-shared = %d02 u64
owner-immutable = %d03
debugDescription
var debugDescription: String { get }
A textual representation of this instance, suitable for debugging.
Calling this property directly is discouraged. Instead, convert an
instance of any type to a string by using the String(reflecting:)
initializer. This initializer works with any type, and uses the custom
debugDescription property for types that conform to
CustomDebugStringConvertible:
struct Point: CustomDebugStringConvertible {
let x: Int, y: Int
var debugDescription: String {
return "(\(x), \(y))"
}
}
let p = Point(x: 21, y: 30)
let s = String(reflecting: p)
print(s)
// Prints "(21, 30)"
The conversion of p to a string in the assignment to s uses the
Point type's debugDescription property.
description
var description: String { get }
A textual representation of this instance.
Calling this property directly is discouraged. Instead, convert an
instance of any type to a string by using the String(describing:)
initializer. This initializer works with any type, and uses the custom
description property for types that conform to
CustomStringConvertible:
struct Point: CustomStringConvertible {
let x: Int, y: Int
var description: String {
return "(\(x), \(y))"
}
}
let p = Point(x: 21, y: 30)
let s = String(describing: p)
print(s)
// Prints "(21, 30)"
The conversion of p to a string in the assignment to s uses the
Point type's description property.
addressOrObject()
func addressOrObject() -> Address?
Returns an Address if this object is owned by an address or
object, and None if it is shared or immutable.
asAddress()
func asAddress() -> Address
Convert this owner into an address owner if it is one, or panic otherwise
asObject()
func asObject() -> ObjectId
Convert this owner into an object owner if it is one, or panic otherwise
asOptAddress()
func asOptAddress() -> Address?
Convert this owner into an address owner if it is one, or return None
otherwise
asOptObject()
func asOptObject() -> ObjectId?
Convert this owner into an object owner if it is one, or return None
otherwise
asOptShared()
func asOptShared() -> Version?
Convert this owner into a shared owner if it is one, or return None
otherwise
asShared()
func asShared() -> Version
Convert this owner into a shared owner if it is one, or panic otherwise
hash(into:)
func hash(into hasher: inout Hasher)
Hashes the essential components of this value by feeding them into the given hasher.
Implement this method to conform to the Hashable protocol. The
components used for hashing must be the same as the components compared
in your type's == operator implementation. Call hasher.combine(_:)
with each of these components.
-
Important: In your implementation of
hash(into:), don't callfinalize()on thehasherinstance provided, or replace it with a different instance. Doing so may become a compile-time error in the future. -
Parameter hasher: The hasher to use when combining the components of this instance.
isAddress()
func isAddress() -> Bool
Check if this is an address owner
isImmutable()
func isImmutable() -> Bool
Check if this is an immutable owner
isObject()
func isObject() -> Bool
Check if this is an object owner
isShared()
func isShared() -> Bool
Check if this is a shared owner
newAddress(address:)
static func newAddress(address: Address) -> Owner
newImmutable()
static func newImmutable() -> Owner
newObject(id:)
static func newObject(id: ObjectId) -> Owner
newShared(version:)
static func newShared(version: Version) -> Owner
!=(_:_:)
static func != (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether two values are not equal.
Inequality is the inverse of equality. For any values a and b, a != b
implies that a == b is false.
This is the default implementation of the not-equal-to operator (!=)
for any type that conforms to Equatable.
- Parameters:
- lhs: A value to compare.
- rhs: Another value to compare.
==(_:_:)
static func == (self: Owner, other: Owner) -> Bool
Returns a Boolean value indicating whether two values are equal.
Equality is the inverse of inequality. For any values a and b,
a == b implies that a != b is false.
- Parameters:
- lhs: A value to compare.
- rhs: Another value to compare.