# Span

#### object Span

Companion object for `Span` that provides two factory methods for creating `Span` instances.

The first argument to each factory method is a numeric value; the second argument is a `Units` value. One factory method takes a `Long`, so it can be invoked with either an `Int` or Long, as in:

```import org.scalatest.time._
Span(1, Second)
Span(1L, Millisecond)
```

The other factory method takes a `Double`, so it can be invoked with either a `Float` or a `Double`:

```import org.scalatest.time._
Span(2.5F, Seconds)
Span(99.9, Microseconds)
```

Linear Supertypes
AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. Span
2. AnyRef
3. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Value Members

1. #### final def !=(arg0: AnyRef): Boolean

Definition Classes
AnyRef
2. #### final def !=(arg0: Any): Boolean

Definition Classes
Any
3. #### final def ##(): Int

Definition Classes
AnyRef → Any
4. #### final def ==(arg0: AnyRef): Boolean

Definition Classes
AnyRef
5. #### final def ==(arg0: Any): Boolean

Definition Classes
Any
6. #### val Max: Span

A `Span` with the maximum expressible value, `Span(Long.MaxValue, Nanoseconds)`, which is approximately 292 years.

A `Span` with the maximum expressible value, `Span(Long.MaxValue, Nanoseconds)`, which is approximately 292 years.

One use case for this `Span` value is to help convert a duration concept from a different library to `Span` when that library's duration concept includes a notion of infinite durations. An infinite duration can be converted to `Span.Max`.

returns

a `Span` with the maximum expressible value, `Long.MaxValue` nanoseconds.

7. #### val Zero: Span

A `Span` with representing a zero-length span of time.

A `Span` with representing a zero-length span of time.

returns

a zero-length `Span`.

8. #### def apply(length: Double, units: Units): Span

Returns a `Span` representing the passed `Double` `length` of time in the passed `units`.

Returns a `Span` representing the passed `Double` `length` of time in the passed `units`.

If the requested time span is less than `0.0` or, when converted to `Long` number of nanoseconds, would be greater than `Long.MaxValue` nanoseconds, this method will throw an `IllegalArgumentException`. (Note: a zero-length time span is allowed, just not a negative or too-large time span.)

length

the length of time denominated by the passed `units`

units

the units of time for the passed `length`

returns

a `Span` representing the requested time span

Exceptions thrown
IllegalArgumentException

if the requested time span, when converted to `Long` number of nanoseconds, would be greater than `Long.MaxValue` nanoseconds, the maximum time span expressible with a `Span`

9. #### def apply(length: Long, units: Units): Span

Returns a `Span` representing the passed `Long` `length` of time in the passed `units`.

Returns a `Span` representing the passed `Long` `length` of time in the passed `units`.

If the requested time span is less than zero or greater than `Long.MaxValue` nanoseconds, this method will throw an `IllegalArgumentException`. (Note: a zero-length time span is allowed, just not a negative or too-large time span.)

length

the length of time denominated by the passed `units`

units

the units of time for the passed `length`

returns

a `Span` representing the requested time span

Exceptions thrown
IllegalArgumentException

if the requested time span is greater than `Long.MaxValue` nanoseconds, the maximum time span expressible with a `Span`

10. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
11. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws()
12. #### implicit def convertDurationToSpan(duration: Duration): Span

Implicitly converts a `scala.concurrent.duration.Duration` to a `Span`, so that a `Duration` can be used where a `Span` is needed.

Implicitly converts a `scala.concurrent.duration.Duration` to a `Span`, so that a `Duration` can be used where a `Span` is needed.

This function transforms `Duration.MinusInf` to `Span.Zero`, `Duration.Inf` and `Undefined` to `Span.Max`, and all others to a `Span` containing a corresponing number of nanoseconds.

13. #### implicit def convertSpanToDuration(span: Span): Duration

Implicitly converts a `Span` to a `scala.concurrent.duration.Duration`, so that a `Span` can be used where a `Duration` is needed.

14. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
15. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
16. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws()
17. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
18. #### def hashCode(): Int

Definition Classes
AnyRef → Any
19. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
20. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
21. #### final def notify(): Unit

Definition Classes
AnyRef
22. #### final def notifyAll(): Unit

Definition Classes
AnyRef
23. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
24. #### def toString(): String

Definition Classes
AnyRef → Any
25. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws()
26. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws()
27. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws()

Annotations
@deprecated
Deprecated