PropertyList

open class PropertyList : ListBase, Sequence

A list of item type Property.

  • Undocumented

    Declaration

    Swift

    public subscript(index: Int) -> Property { get set }
  • An immutable empty PropertyList.

    Declaration

    Swift

    public static let empty: PropertyList
  • Construct a new list with length of zero and optional initial capacity. A list can expand in length beyond its initial capacity, but best performance will be obtained if the initial capacity is close to (and not less than) the list’s maximum length.

    Declaration

    Swift

    override public init(capacity: Int = (4 as Int))

    Parameters

    capacity

    Optional initial capacity.

  • Add item to the end of this list.

    Declaration

    Swift

    public final func append(_ item: Property)

    Parameters

    item

    Item to be added.

  • Add all the items of list to the end of this list.

    Declaration

    Swift

    public final func append(contentsOf list: PropertyList)

    Parameters

    list

    Items to be added.

  • An ordering function for the item type of this list.

    Declaration

    Swift

    override open var comparer: Comparer { get }
  • Declaration

    Swift

    public final func copy() -> PropertyList

    Return Value

    A shallow copy of this list.

  • An equality function for the item type of this list.

    Declaration

    Swift

    override open var equality: Equality { get }
  • Declaration

    Swift

    public final func filter(_ predicate: @escaping (Property) -> Bool) -> PropertyList

    Parameters

    predicate

    Function to be applied to each item of this list. Items matching this predicate will be returned in the new list.

    Return Value

    A new list which contains the items of this list that match a specified predicate function. Ordering is preserved.

  • Throws

    EmptyListException if the list is empty.

    Declaration

    Swift

    public final func first() -> Property

    Return Value

    The first item in this list.

  • Convert array to list.

    Declaration

    Swift

    open class func fromArray(_ array: Array<Property>) -> PropertyList

    Parameters

    array

    Array with source items.

    Return Value

    New list with items copied from array parameter.

  • Declaration

    Swift

    public final func includes(item: Property) -> Bool

    Parameters

    item

    Item for comparison. Comparison uses the equality property, which would usually be expected to match the == operator for item type Property.

    Return Value

    true if this list contains item.

  • Declaration

    Swift

    public final func indexOf(item: Property, start: Int = (0 as Int)) -> Int

    Parameters

    item

    Item for comparison. Comparison uses the equality property, which would usually be expected to match the == operator for item type Property.

    start

    Zero-based starting index (search moves forwards from this index).

    Return Value

    First index in this list of item, or -1 if not found.

  • Insert item into this list, before the item (if any) at index.

    Throws

    ListIndexException if index is out of range (0 to length).

    Declaration

    Swift

    public final func insert(at index: Int, item: Property)

    Parameters

    index

    Zero-based index.

    item

    Item to be added.

  • Insert all items of list into this list, before the item (if any) at index.

    Throws

    ListIndexException if index is out of range (0 to length).

    Declaration

    Swift

    public final func insert(at index: Int, contentsOf list: PropertyList)

    Parameters

    index

    Zero-based index.

    list

    List of items to be inserted.

  • Throws

    ListIndexException if index is out of range (0 to length - 1).

    Declaration

    Swift

    public final func item(at index: Int) -> Property

    Parameters

    index

    Zero-based index.

    Return Value

    The item in this list at the specified index.

  • Throws

    EmptyListException if the list is empty.

    Declaration

    Swift

    public final func last() -> Property

    Return Value

    The last item in this list.

  • Declaration

    Swift

    public final func lastIndexOf(item: Property, start: Int = (2147483647 as Int)) -> Int

    Parameters

    item

    Item for comparison. Comparison uses the equality property, which would usually be expected to match the == operator for item type Property.

    start

    Zero-based starting index (search moves backwards from this index).

    Return Value

    Last index in this list of item, or -1 if not found.

  • Declaration

    Swift

    open func makeIterator() -> IndexingIterator<Array<Property>>

    Return Value

    This list converted to a Swift iterator.

  • Declaration

    Swift

    open class func of(_ items: Property...) -> PropertyList

    Parameters

    rest_items

    Items for the resulting list.

    Return Value

    A new list of item type Property, containing the specified items.

  • See also

    copy, reverse.

    Declaration

    Swift

    open func reversed() -> PropertyList

    Return Value

    a reversed copy of this list.

  • Return a new PropertyList that shares the ListBase.untypedList as the list parameter. To ensure type safety, items in list that do not have the item type Property will be removed.

    Declaration

    Swift

    open class func share(_ list: ListBase) -> PropertyList

    Parameters

    list

    List whose items will be shared by the resulting list.

    Return Value

    A new list of item type Property, sharing the same items as list.

  • Throws

    EmptyListException if the list has no items, NotUniqueException if the list has multiple items.

    Declaration

    Swift

    public final func single() -> Property

    Return Value

    A single item from this list.

  • Declaration

    Swift

    public final func slice(start: Int, end: Int = (2147483647 as Int)) -> PropertyList

    Parameters

    start

    Zero-based starting index (inclusive), or negative for starting index relative to the end of this list.

    end

    Zero-based ending index (exclusive), or negative for ending index relative to the end of this list.

    Return Value

    A slice of this list from index start (inclusive) to index end (exclusive).

  • Sort this list in place (stable sort, O(n log n) complexity).

    See also

    copy, sort.

    Declaration

    Swift

    public final func sort(by increasing: @escaping (Property, Property) -> Bool)

    Parameters

    increasing

    Predicate that returns true if its first argument should preceed its second argument in the desired ordering.

  • See also

    copy, sort.

    Declaration

    Swift

    public final func sorted() -> PropertyList

    Return Value

    a sorted copy of this list using this list’s default comparer for ordering (stable sort, O(n log n) complexity).

  • See also

    copy, sortBy.

    Declaration

    Swift

    public final func sorted(by increasing: @escaping (Property, Property) -> Bool) -> PropertyList

    Parameters

    increasing

    Predicate that returns true if its first argument should preceed its second argument in the desired ordering.

    Return Value

    a sorted copy of this list (stable sort, O(n log n) complexity).

  • Declaration

    Swift

    open func sortedByKind() throws -> PropertyList

    Return Value

    a copy of this list, sorted by key properties, non-key properties, extension properties, then relationship properties (then by name within each of these groupings).

  • Declaration

    Swift

    open func sortedByLine() throws -> PropertyList

    Return Value

    a copy of this list, sorted by Property.sourceLine.

  • Declaration

    Swift

    open func sortedByName() throws -> PropertyList

    Return Value

    a copy of this list, sorted by Property.name.

  • Declaration

    Swift

    open func toArray() -> Array<Property>

    Return Value

    This list converted to a Swift array.

  • Declaration

    Swift

    open func toNameList() throws -> StringList

    Return Value

    A list with the Property.name for each property in this list.

  • Declaration

    Swift

    open func toPropertyArray() throws -> PropertyArray

    Return Value

    An equivalent fixed-length array of properties.

  • Declaration

    Swift

    open func toPropertyMap() throws -> PropertyMap

    Return Value

    The same properties, mapped by Property.name.

  • Set the item in this list at the specified index.

    Declaration

    Swift

    public final func update(at index: Int, item: Property)

    Parameters

    index

    Zero-based index.

    item

    Item value.