blob: 87d92da9c9149b07971d13a98f67f8cf7214b5fd [file] [log] [blame]
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
extension LengthFormatter {
public enum Unit : Int {
case millimeter
case centimeter
case meter
case kilometer
case inch
case foot
case yard
case mile
}
}
open class LengthFormatter : Formatter {
public required init?(coder: NSCoder) {
NSUnimplemented()
}
/*@NSCopying*/ open var numberFormatter: NumberFormatter! // default is NSNumberFormatter with NSNumberFormatterDecimalStyle
open var unitStyle: UnitStyle // default is NSFormattingUnitStyleMedium
open var isForPersonHeightUse: Bool // default is NO; if it is set to YES, the number argument for -stringFromMeters: and -unitStringFromMeters: is considered as a person's height
// Format a combination of a number and an unit to a localized string.
open func string(fromValue value: Double, unit: LengthFormatter.Unit) -> String { NSUnimplemented() }
// Format a number in meters to a localized string with the locale-appropriate unit and an appropriate scale (e.g. 4.3m = 14.1ft in the US locale).
open func string(fromMeters numberInMeters: Double) -> String { NSUnimplemented() }
// Return a localized string of the given unit, and if the unit is singular or plural is based on the given number.
open func unitString(fromValue value: Double, unit: Unit) -> String { NSUnimplemented() }
// Return the locale-appropriate unit, the same unit used by -stringFromMeters:.
open func unitString(fromMeters numberInMeters: Double, usedUnit unitp: UnsafeMutablePointer<Unit>?) -> String { NSUnimplemented() }
/// - Experiment: This is a draft API currently under consideration for official import into Foundation as a suitable alternative
/// - Note: Since this API is under consideration it may be either removed or revised in the near future
open override func objectValue(_ string: String) throws -> Any? { return nil }
}