Structure

Subscribers.Demand

A requested number of items, sent to a publisher from a subscriber through the subscription.

Declaration

@frozen struct Demand, Codable, CustomStringConvertible

Topics

Creating a Demand

static func max(Int) -> Subscribers.Demand

Creates a demand for the given maximum number of elements.

Using Special Demands

static let unlimited: Subscribers.Demand

A request for as many values as the publisher can produce.

static let none: Subscribers.Demand

A request for no elements from the publisher.

Inspecing Demand Properties

var max: Int?

The number of requested values.

Encoding and Decoding

func encode(to: Encoder)

Encodes the demand to the provide encoder.

init(from: Decoder)

Creates a demand instance from a decoder.

Performing Mathematical Operations

static func * (Subscribers.Demand, Int) -> Subscribers.Demand

Returns the result of multiplying a demand by an integer.

static func *= (inout Subscribers.Demand, Int)

Multiplies a demand by an integer, and assigns the result to the demand.

static func + (Subscribers.Demand, Int) -> Subscribers.Demand

Returns the result of adding an integer to a demand.

static func += (inout Subscribers.Demand, Subscribers.Demand)

Adds two demands, and assigns the result to the first demand.

static func += (inout Subscribers.Demand, Int)

Adds an integer to a demand, and assigns the result to the demand.

static func - (Subscribers.Demand, Subscribers.Demand) -> Subscribers.Demand

Returns the result of subtracting one demand from another.

static func - (Subscribers.Demand, Int) -> Subscribers.Demand

Returns the result of subtracting an integer from a demand.

static func -= (inout Subscribers.Demand, Subscribers.Demand)

Subtracts one demand from another, and assigns the result to the first demand.

static func -= (inout Subscribers.Demand, Int)

Subtracts an integer from a demand, and assigns the result to the demand.

static func ... (Subscribers.Demand) -> PartialRangeFrom<Subscribers.Demand>

Returns a partial range extending upward from a lower bound.

static func ... (Subscribers.Demand) -> PartialRangeThrough<Subscribers.Demand>

Returns a partial range up to, and including, its upper bound.

Comparing Demands

static func == (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether two demands are for the same number of elements.

static func == (Subscribers.Demand, Int) -> Bool

Returns a Boolean value indicating whether a demand requests the given number of elements.

static func == (Int, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether a given number of elements matches the request of a given demand.

static func != (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether two demands are unequal.

static func != (Subscribers.Demand, Int) -> Bool

Returns a Boolean value indicating whether a demand is not equal to an integer.

static func != (Int, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether an integer is not equal to a demand.

static func ..< (Subscribers.Demand) -> PartialRangeUpTo<Subscribers.Demand>

Returns a partial range up to, but not including, its upper bound.

static func ..< (Subscribers.Demand, Subscribers.Demand) -> Range<Subscribers.Demand>

Returns a half-open range that contains its lower bound but not its upper bound.

static func < (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean that indicates whether the first demand requests fewer elements than the second.

static func < (Subscribers.Demand, Int) -> Bool

Returns a Boolean that indicates whether the demand requests fewer than the given number of elements.

static func < (Int, Subscribers.Demand) -> Bool

Returns a Boolean that indicates a given number of elements is less than the maximum specified by the demand.

static func <= (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value that indicates whether the first demand requests fewer or the same number of elements as the second.

static func <= (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

static func <= (Subscribers.Demand, Int) -> Bool

Returns a Boolean that indicates whether the demand requests fewer or the same number of elements as the given integer.

static func <= (Int, Subscribers.Demand) -> Bool

Returns a Boolean value that indicates a given number of elements is less than or equal the maximum specified by the demand.

static func > (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean that indicates whether the first demand requests more elements than the second.

static func > (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

static func > (Subscribers.Demand, Int) -> Bool

Returns a Boolean that indicates whether the demand requests more than the given number of elements.

static func > (Int, Subscribers.Demand) -> Bool

Returns a Boolean that indicates a given number of elements is greater than the maximum specified by the demand.

static func >= (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean that indicates whether the first demand requests more or the same number of elements as the second.

static func >= (Subscribers.Demand, Subscribers.Demand) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

static func >= (Subscribers.Demand, Int) -> Bool

Returns a Boolean that indicates whether the demand requests more or the same number of elements as a given integer.

static func >= (Int, Subscribers.Demand) -> Bool

Returns a Boolean that indicates a given number of elements is greater than or equal to the maximum specified by the demand.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software