RelationRef

public struct RelationRef : RelationProtocol, GWeakCapturing

An AtkRelation describes a relation between an object and one or more other objects. The actual relations that an object has with other objects are defined as an AtkRelationSet, which is a set of AtkRelations.

The RelationRef type acts as a lightweight Swift reference to an underlying AtkRelation instance. It exposes methods that can operate on this data type through RelationProtocol conformance. Use RelationRef only as an unowned reference to an existing AtkRelation instance.

  • ptr
    Untyped pointer to the underlying `AtkRelation` instance.
    

    For type-safe access, use the generated, typed pointer relation_ptr property instead.

    Declaration

    Swift

    public let ptr: UnsafeMutableRawPointer!

Relation Class

  • Designated initialiser from the underlying C data type

    Declaration

    Swift

    @inlinable
    init(_ p: UnsafeMutablePointer<AtkRelation>)
  • Designated initialiser from a constant pointer to the underlying C data type

    Declaration

    Swift

    @inlinable
    init(_ p: UnsafePointer<AtkRelation>)
  • Conditional initialiser from an optional pointer to the underlying C data type

    Declaration

    Swift

    @inlinable
    init!(_ maybePointer: UnsafeMutablePointer<AtkRelation>?)
  • Conditional initialiser from an optional, non-mutable pointer to the underlying C data type

    Declaration

    Swift

    @inlinable
    init!(_ maybePointer: UnsafePointer<AtkRelation>?)
  • Conditional initialiser from an optional gpointer

    Declaration

    Swift

    @inlinable
    init!(gpointer g: gpointer?)
  • Conditional initialiser from an optional, non-mutable gconstpointer

    Declaration

    Swift

    @inlinable
    init!(gconstpointer g: gconstpointer?)
  • Reference intialiser for a related type that implements RelationProtocol

    Declaration

    Swift

    @inlinable
    init<T>(_ other: T) where T : RelationProtocol
  • This factory is syntactic sugar for setting weak pointers wrapped in GWeak<T>

    Declaration

    Swift

    @inlinable
    static func unowned<T>(_ other: T) -> RelationRef where T : RelationProtocol
  • Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to RelationProtocol.

    Declaration

    Swift

    @inlinable
    init<T>(cPointer: UnsafeMutablePointer<T>)
  • Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to RelationProtocol.

    Declaration

    Swift

    @inlinable
    init<T>(constPointer: UnsafePointer<T>)
  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to RelationProtocol.

    Declaration

    Swift

    @inlinable
    init(mutating raw: UnsafeRawPointer)
  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to RelationProtocol.

    Declaration

    Swift

    @inlinable
    init(raw: UnsafeMutableRawPointer)
  • Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to RelationProtocol.

    Declaration

    Swift

    @inlinable
    init(opaquePointer: OpaquePointer)
  • Create a new relation for the specified key and the specified list
    

    of targets. See also atk_object_add_relationship().

    Declaration

    Swift

    @inlinable
    init(targets: UnsafeMutablePointer<UnsafeMutablePointer<AtkObject>?>!, nTargets: Int, relationship: AtkRelationType)