actuate
Version:
Actuate is a flexible, fast "tween" library for animations
1,392 lines (1,212 loc) • 526 kB
text/xml
<!-- This file can be parsed by haxe.rtti.XmlParser -->
<haxe>
<abstract path="Any" params="" file="/usr/local/lib/haxe/std/Any.hx">
<from><icast><d/></icast></from>
<this><d/></this>
<to><icast field="__promote"><c path="__promote.T"/></icast></to>
<haxe_doc>`Any` is a type that is compatible with any other in both ways.
This means that a value of any type can be assigned to `Any`, and
vice-versa, a value of `Any` type can be assigned to any other type.
It's a more type-safe alternative to `Dynamic`, because it doesn't
support field access or operators and it's bound to monomorphs. So,
to work with the actual value, it needs to be explicitly promoted
to another type.</haxe_doc>
<meta><m n=":forward.variance"/></meta>
<impl><class path="_Any.Any_Impl_" params="" file="/usr/local/lib/haxe/std/Any.hx" private="1" module="Any" final="1">
<__promote params="T" get="inline" set="null" line="37" static="1">
<f a="this">
<d/>
<c path="__promote.T"/>
</f>
<meta>
<m n=":noCompletion"/>
<m n=":to"/>
</meta>
</__promote>
<toString get="inline" set="null" line="40" static="1">
<f a="this">
<d/>
<c path="String"/>
</f>
<meta><m n=":noCompletion"/></meta>
</toString>
<meta><m n=":keep"/></meta>
</class></impl>
</abstract>
<class path="_Any.Any_Impl_" params="" file="/usr/local/lib/haxe/std/Any.hx" private="1" module="Any" final="1">
<__promote params="T" get="inline" set="null" line="37" static="1">
<f a="this">
<d/>
<c path="__promote.T"/>
</f>
<meta>
<m n=":noCompletion"/>
<m n=":to"/>
</meta>
</__promote>
<toString get="inline" set="null" line="40" static="1">
<f a="this">
<d/>
<c path="String"/>
</f>
<meta><m n=":noCompletion"/></meta>
</toString>
<meta><m n=":keep"/></meta>
</class>
<class path="Array" params="T" file="/usr/local/lib/haxe/std/Array.hx" extern="1">
<length public="1" set="null">
<x path="Int"/>
<haxe_doc>The length of `this` Array.</haxe_doc>
</length>
<concat public="1" set="method">
<f a="a">
<c path="Array"><c path="Array.T"/></c>
<c path="Array"><c path="Array.T"/></c>
</f>
<haxe_doc>Returns a new Array by appending the elements of `a` to the elements of
`this` Array.
This operation does not modify `this` Array.
If `a` is the empty Array `[]`, a copy of `this` Array is returned.
The length of the returned Array is equal to the sum of `this.length`
and `a.length`.
If `a` is `null`, the result is unspecified.</haxe_doc>
</concat>
<join public="1" set="method">
<f a="sep">
<c path="String"/>
<c path="String"/>
</f>
<haxe_doc>Returns a string representation of `this` Array, with `sep` separating
each element.
The result of this operation is equal to `Std.string(this[0]) + sep +
Std.string(this[1]) + sep + ... + sep + Std.string(this[this.length-1])`
If `this` is the empty Array `[]`, the result is the empty String `""`.
If `this` has exactly one element, the result is equal to a call to
`Std.string(this[0])`.
If `sep` is null, the result is unspecified.</haxe_doc>
</join>
<pop public="1" set="method">
<f a=""><x path="Null"><c path="Array.T"/></x></f>
<haxe_doc>Removes the last element of `this` Array and returns it.
This operation modifies `this` Array in place.
If `this` has at least one element, `this.length` will decrease by 1.
If `this` is the empty Array `[]`, null is returned and the length
remains 0.</haxe_doc>
</pop>
<push public="1" set="method">
<f a="x">
<c path="Array.T"/>
<x path="Int"/>
</f>
<haxe_doc>Adds the element `x` at the end of `this` Array and returns the new
length of `this` Array.
This operation modifies `this` Array in place.
`this.length` increases by 1.</haxe_doc>
</push>
<reverse public="1" set="method">
<f a=""><x path="Void"/></f>
<haxe_doc><![CDATA[Reverse the order of elements of `this` Array.
This operation modifies `this` Array in place.
If `this.length < 2`, `this` remains unchanged.]]></haxe_doc>
</reverse>
<shift public="1" set="method">
<f a=""><x path="Null"><c path="Array.T"/></x></f>
<haxe_doc>Removes the first element of `this` Array and returns it.
This operation modifies `this` Array in place.
If `this` has at least one element, `this`.length and the index of each
remaining element is decreased by 1.
If `this` is the empty Array `[]`, `null` is returned and the length
remains 0.</haxe_doc>
</shift>
<slice public="1" set="method">
<f a="pos:?end">
<x path="Int"/>
<x path="Int"/>
<c path="Array"><c path="Array.T"/></c>
</f>
<haxe_doc>Creates a shallow copy of the range of `this` Array, starting at and
including `pos`, up to but not including `end`.
This operation does not modify `this` Array.
The elements are not copied and retain their identity.
If `end` is omitted or exceeds `this.length`, it defaults to the end of
`this` Array.
If `pos` or `end` are negative, their offsets are calculated from the
end of `this` Array by `this.length + pos` and `this.length + end`
respectively. If this yields a negative value, 0 is used instead.
If `pos` exceeds `this.length` or if `end` is less than or equals
`pos`, the result is `[]`.</haxe_doc>
</slice>
<sort public="1" set="method">
<f a="f">
<f a=":">
<c path="Array.T"/>
<c path="Array.T"/>
<x path="Int"/>
</f>
<x path="Void"/>
</f>
<haxe_doc><![CDATA[Sorts `this` Array according to the comparison function `f`, where
`f(x,y)` returns 0 if x == y, a positive Int if x > y and a
negative Int if x < y.
This operation modifies `this` Array in place.
The sort operation is not guaranteed to be stable, which means that the
order of equal elements may not be retained. For a stable Array sorting
algorithm, `haxe.ds.ArraySort.sort()` can be used instead.
If `f` is null, the result is unspecified.]]></haxe_doc>
</sort>
<splice public="1" set="method">
<f a="pos:len">
<x path="Int"/>
<x path="Int"/>
<c path="Array"><c path="Array.T"/></c>
</f>
<haxe_doc><![CDATA[Removes `len` elements from `this` Array, starting at and including
`pos`, an returns them.
This operation modifies `this` Array in place.
If `len` is < 0 or `pos` exceeds `this`.length, an empty Array [] is
returned and `this` Array is unchanged.
If `pos` is negative, its value is calculated from the end of `this`
Array by `this.length + pos`. If this yields a negative value, 0 is
used instead.
If the sum of the resulting values for `len` and `pos` exceed
`this.length`, this operation will affect the elements from `pos` to the
end of `this` Array.
The length of the returned Array is equal to the new length of `this`
Array subtracted from the original length of `this` Array. In other
words, each element of the original `this` Array either remains in
`this` Array or becomes an element of the returned Array.]]></haxe_doc>
</splice>
<toString public="1" set="method">
<f a=""><c path="String"/></f>
<haxe_doc>Returns a string representation of `this` Array.
The result will include the individual elements' String representations
separated by comma. The enclosing [ ] may be missing on some platforms,
use `Std.string()` to get a String representation that is consistent
across platforms.</haxe_doc>
</toString>
<unshift public="1" set="method">
<f a="x">
<c path="Array.T"/>
<x path="Void"/>
</f>
<haxe_doc>Adds the element `x` at the start of `this` Array.
This operation modifies `this` Array in place.
`this.length` and the index of each Array element increases by 1.</haxe_doc>
</unshift>
<insert public="1" set="method">
<f a="pos:x">
<x path="Int"/>
<c path="Array.T"/>
<x path="Void"/>
</f>
<haxe_doc>Inserts the element `x` at the position `pos`.
This operation modifies `this` Array in place.
The offset is calculated like so:
- If `pos` exceeds `this.length`, the offset is `this.length`.
- If `pos` is negative, the offset is calculated from the end of `this`
Array, i.e. `this.length + pos`. If this yields a negative value, the
offset is 0.
- Otherwise, the offset is `pos`.
If the resulting offset does not exceed `this.length`, all elements from
and including that offset to the end of `this` Array are moved one index
ahead.</haxe_doc>
</insert>
<remove public="1" set="method">
<f a="x">
<c path="Array.T"/>
<x path="Bool"/>
</f>
<haxe_doc>Removes the first occurrence of `x` in `this` Array.
This operation modifies `this` Array in place.
If `x` is found by checking standard equality, it is removed from `this`
Array and all following elements are reindexed accordingly. The function
then returns true.
If `x` is not found, `this` Array is not changed and the function
returns false.</haxe_doc>
</remove>
<contains public="1" set="method">
<f a="x">
<c path="Array.T"/>
<x path="Bool"/>
</f>
<haxe_doc>Returns whether `this` Array contains `x`.
If `x` is found by checking standard equality, the function returns `true`, otherwise
the function returns `false`.</haxe_doc>
</contains>
<indexOf public="1" set="method">
<f a="x:?fromIndex">
<c path="Array.T"/>
<x path="Int"/>
<x path="Int"/>
</f>
<haxe_doc>Returns position of the first occurrence of `x` in `this` Array, searching front to back.
If `x` is found by checking standard equality, the function returns its index.
If `x` is not found, the function returns -1.
If `fromIndex` is specified, it will be used as the starting index to search from,
otherwise search starts with zero index. If it is negative, it will be taken as the
offset from the end of `this` Array to compute the starting index. If given or computed
starting index is less than 0, the whole array will be searched, if it is greater than
or equal to the length of `this` Array, the function returns -1.</haxe_doc>
</indexOf>
<lastIndexOf public="1" set="method">
<f a="x:?fromIndex">
<c path="Array.T"/>
<x path="Int"/>
<x path="Int"/>
</f>
<haxe_doc>Returns position of the last occurrence of `x` in `this` Array, searching back to front.
If `x` is found by checking standard equality, the function returns its index.
If `x` is not found, the function returns -1.
If `fromIndex` is specified, it will be used as the starting index to search from,
otherwise search starts with the last element index. If it is negative, it will be
taken as the offset from the end of `this` Array to compute the starting index. If
given or computed starting index is greater than or equal to the length of `this` Array,
the whole array will be searched, if it is less than 0, the function returns -1.</haxe_doc>
</lastIndexOf>
<copy public="1" set="method">
<f a=""><c path="Array"><c path="Array.T"/></c></f>
<haxe_doc>Returns a shallow copy of `this` Array.
The elements are not copied and retain their identity, so
`a[i] == a.copy()[i]` is true for any valid `i`. However,
`a == a.copy()` is always false.</haxe_doc>
</copy>
<iterator public="1" get="inline" set="null" line="280">
<f a=""><c path="haxe.iterators.ArrayIterator"><c path="Array.T"/></c></f>
<meta><m n=":runtime"/></meta>
<haxe_doc>Returns an iterator of the Array values.</haxe_doc>
</iterator>
<keyValueIterator public="1" get="inline" set="null" line="287">
<f a=""><c path="haxe.iterators.ArrayKeyValueIterator"><c path="Array.T"/></c></f>
<meta><m n=":runtime"/></meta>
<haxe_doc>Returns an iterator of the Array indices and values.</haxe_doc>
</keyValueIterator>
<map public="1" params="S" get="inline" set="null" line="298">
<f a="f">
<f a="">
<c path="Array.T"/>
<c path="map.S"/>
</f>
<c path="Array"><c path="map.S"/></c>
</f>
<meta><m n=":runtime"/></meta>
<haxe_doc>Creates a new Array by applying function `f` to all elements of `this`.
The order of elements is preserved.
If `f` is null, the result is unspecified.</haxe_doc>
</map>
<filter public="1" get="inline" set="null" line="316">
<f a="f">
<f a="">
<c path="Array.T"/>
<x path="Bool"/>
</f>
<c path="Array"><c path="Array.T"/></c>
</f>
<meta><m n=":runtime"/></meta>
<haxe_doc>Returns an Array containing those elements of `this` for which `f`
returned true.
The individual elements are not duplicated and retain their identity.
If `f` is null, the result is unspecified.</haxe_doc>
</filter>
<resize public="1" set="method">
<f a="len">
<x path="Int"/>
<x path="Void"/>
</f>
<haxe_doc>Set the length of the Array.
If `len` is shorter than the array's current size, the last
`length - len` elements will be removed. If `len` is longer, the Array
will be extended, with new elements set to a target-specific default
value:
- always null on dynamic targets
- 0, 0.0 or false for Int, Float and Bool respectively on static targets
- null for other types on static targets</haxe_doc>
</resize>
<new public="1" set="method">
<f a=""><x path="Void"/></f>
<haxe_doc>Creates a new Array.</haxe_doc>
</new>
<haxe_doc>An Array is a storage for values. You can access it using indexes or
with its API.
@see https://haxe.org/manual/std-Array.html
@see https://haxe.org/manual/lf-array-comprehension.html</haxe_doc>
<meta><m n=":directlyUsed"/></meta>
</class>
<abstract path="Class" params="T" file="/usr/local/lib/haxe/std/Class.hx">
<this><x path="Class"><c path="Class.T"/></x></this>
<haxe_doc>An abstract type that represents a Class.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-class-instance.html</haxe_doc>
<meta>
<m n=":valueUsed"/>
<m n=":coreType"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<class path="Date" params="" file="/usr/local/lib/haxe/std/Date.hx" extern="1">
<now public="1" set="method" static="1">
<f a=""><c path="Date"/></f>
<haxe_doc>Returns a Date representing the current local time.</haxe_doc>
</now>
<fromTime public="1" set="method" static="1">
<f a="t">
<x path="Float"/>
<c path="Date"/>
</f>
<haxe_doc>Creates a Date from the timestamp (in milliseconds) `t`.</haxe_doc>
</fromTime>
<fromString public="1" set="method" static="1">
<f a="s">
<c path="String"/>
<c path="Date"/>
</f>
<haxe_doc>Creates a Date from the formatted string `s`. The following formats are
accepted by the function:
- `"YYYY-MM-DD hh:mm:ss"`
- `"YYYY-MM-DD"`
- `"hh:mm:ss"`
The first two formats expressed a date in local time. The third is a time
relative to the UTC epoch.</haxe_doc>
</fromString>
<getTime public="1" set="method">
<f a=""><x path="Float"/></f>
<haxe_doc>Returns the timestamp (in milliseconds) of `this` date.
On cpp and neko, this function only has a second resolution, so the
result will always be a multiple of `1000.0`, e.g. `1454698271000.0`.
To obtain the current timestamp with better precision on cpp and neko,
see the `Sys.time` API.
For measuring time differences with millisecond accuracy on
all platforms, see `haxe.Timer.stamp`.</haxe_doc>
</getTime>
<getHours public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the hours of `this` Date (0-23 range) in the local timezone.</haxe_doc>
</getHours>
<getMinutes public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the minutes of `this` Date (0-59 range) in the local timezone.</haxe_doc>
</getMinutes>
<getSeconds public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the seconds of `this` Date (0-59 range) in the local timezone.</haxe_doc>
</getSeconds>
<getFullYear public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the full year of `this` Date (4 digits) in the local timezone.</haxe_doc>
</getFullYear>
<getMonth public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the month of `this` Date (0-11 range) in the local timezone.
Note that the month number is zero-based.</haxe_doc>
</getMonth>
<getDate public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the day of `this` Date (1-31 range) in the local timezone.</haxe_doc>
</getDate>
<getDay public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday)
in the local timezone.</haxe_doc>
</getDay>
<getUTCHours public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the hours of `this` Date (0-23 range) in UTC.</haxe_doc>
</getUTCHours>
<getUTCMinutes public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the minutes of `this` Date (0-59 range) in UTC.</haxe_doc>
</getUTCMinutes>
<getUTCSeconds public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the seconds of `this` Date (0-59 range) in UTC.</haxe_doc>
</getUTCSeconds>
<getUTCFullYear public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the full year of `this` Date (4 digits) in UTC.</haxe_doc>
</getUTCFullYear>
<getUTCMonth public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the month of `this` Date (0-11 range) in UTC.
Note that the month number is zero-based.</haxe_doc>
</getUTCMonth>
<getUTCDate public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the day of `this` Date (1-31 range) in UTC.</haxe_doc>
</getUTCDate>
<getUTCDay public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the day of the week of `this` Date (0-6 range, where `0` is Sunday)
in UTC.</haxe_doc>
</getUTCDay>
<getTimezoneOffset public="1" set="method">
<f a=""><x path="Int"/></f>
<haxe_doc>Returns the time zone difference of `this` Date in the current locale
to UTC, in minutes.
Assuming the function is executed on a machine in a UTC+2 timezone,
`Date.now().getTimezoneOffset()` will return `-120`.</haxe_doc>
</getTimezoneOffset>
<toString public="1" set="method">
<f a=""><c path="String"/></f>
<haxe_doc>Returns a string representation of `this` Date in the local timezone
using the standard format `YYYY-MM-DD HH:MM:SS`. See `DateTools.format` for
other formatting rules.</haxe_doc>
</toString>
<new public="1" set="method">
<f a="year:month:day:hour:min:sec">
<x path="Int"/>
<x path="Int"/>
<x path="Int"/>
<x path="Int"/>
<x path="Int"/>
<x path="Int"/>
<x path="Void"/>
</f>
<haxe_doc>Creates a new date object from the given arguments.
The behaviour of a Date instance is only consistent across platforms if
the the arguments describe a valid date.
- month: 0 to 11 (note that this is zero-based)
- day: 1 to 31
- hour: 0 to 23
- min: 0 to 59
- sec: 0 to 59</haxe_doc>
</new>
<haxe_doc>The Date class provides a basic structure for date and time related
information. Date instances can be created by
- `new Date()` for a specific date,
- `Date.now()` to obtain information about the current time,
- `Date.fromTime()` with a given timestamp or
- `Date.fromString()` by parsing from a String.
There are some extra functions available in the `DateTools` class.
In the context of Haxe dates, a timestamp is defined as the number of
milliseconds elapsed since 1st January 1970 UTC.
## Supported range
Due to platform limitations, only dates in the range 1970 through 2038 are
supported consistently. Some targets may support dates outside this range,
depending on the OS at runtime. The `Date.fromTime` method will not work with
timestamps outside the range on any target.</haxe_doc>
<meta><m n=":directlyUsed"/></meta>
</class>
<class path="flash.utils.RegExp" params="" file="/usr/local/lib/haxe/std/flash/utils/RegExp.hx" extern="1">
<dotall public="1" get="accessor" set="null">
<x path="Bool"/>
<meta><m n=":flash.property"/></meta>
</dotall>
<extended public="1" get="accessor" set="null">
<x path="Bool"/>
<meta><m n=":flash.property"/></meta>
</extended>
<global public="1" get="accessor" set="null">
<x path="Bool"/>
<meta><m n=":flash.property"/></meta>
</global>
<ignoreCase public="1" get="accessor" set="null">
<x path="Bool"/>
<meta><m n=":flash.property"/></meta>
</ignoreCase>
<lastIndex public="1" get="accessor" set="accessor">
<x path="Int"/>
<meta><m n=":flash.property"/></meta>
</lastIndex>
<multiline public="1" get="accessor" set="null">
<x path="Bool"/>
<meta><m n=":flash.property"/></meta>
</multiline>
<source public="1" get="accessor" set="null">
<c path="String"/>
<meta><m n=":flash.property"/></meta>
</source>
<exec public="1" set="method">
<f a="?s">
<c path="String"/>
<d/>
</f>
<meta><m n=":ns"><e>"http://adobe.com/AS3/2006/builtin"</e></m></meta>
</exec>
<get_dotall set="method"><f a=""><x path="Bool"/></f></get_dotall>
<get_extended set="method"><f a=""><x path="Bool"/></f></get_extended>
<get_global set="method"><f a=""><x path="Bool"/></f></get_global>
<get_ignoreCase set="method"><f a=""><x path="Bool"/></f></get_ignoreCase>
<get_lastIndex set="method"><f a=""><x path="Int"/></f></get_lastIndex>
<get_multiline set="method"><f a=""><x path="Bool"/></f></get_multiline>
<get_source set="method"><f a=""><c path="String"/></f></get_source>
<set_lastIndex set="method"><f a="value">
<x path="Int"/>
<x path="Int"/>
</f></set_lastIndex>
<test public="1" set="method">
<f a="?s">
<c path="String"/>
<x path="Bool"/>
</f>
<meta><m n=":ns"><e>"http://adobe.com/AS3/2006/builtin"</e></m></meta>
</test>
<new public="1" set="method"><f a="?pattern:?options">
<d/>
<d/>
<x path="Void"/>
</f></new>
<meta><m n=":native"><e>"RegExp"</e></m></meta>
</class>
<abstract path="Enum" params="T" file="/usr/local/lib/haxe/std/Enum.hx">
<this><x path="Enum"><c path="Enum.T"/></x></this>
<haxe_doc>An abstract type that represents an Enum type.
The corresponding enum instance type is `EnumValue`.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-enum-instance.html</haxe_doc>
<meta>
<m n=":coreType"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<abstract path="EnumValue" params="" file="/usr/local/lib/haxe/std/EnumValue.hx">
<this><x path="EnumValue"/></this>
<haxe_doc>An abstract type that represents any enum value.
See `Type` for the Haxe Reflection API.
@see https://haxe.org/manual/types-enum-instance.html</haxe_doc>
<meta><m n=":coreType"/></meta>
<impl><class path="_EnumValue.EnumValue_Impl_" params="" file="/usr/local/lib/haxe/std/EnumValue.hx" private="1" module="EnumValue" final="1"><meta><m n=":keep"/></meta></class></impl>
</abstract>
<class path="Math" params="" file="/usr/local/lib/haxe/std/Math.hx" extern="1">
<PI public="1" set="null" static="1">
<x path="Float"/>
<haxe_doc>Represents the ratio of the circumference of a circle to its diameter,
specified by the constant, π. `PI` is approximately `3.141592653589793`.</haxe_doc>
</PI>
<NEGATIVE_INFINITY public="1" set="null" static="1">
<x path="Float"/>
<haxe_doc>A special `Float` constant which denotes negative infinity.
For example, this is the result of `-1.0 / 0.0`.
Operations with `NEGATIVE_INFINITY` as an operand may result in
`NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.</haxe_doc>
</NEGATIVE_INFINITY>
<POSITIVE_INFINITY public="1" set="null" static="1">
<x path="Float"/>
<haxe_doc>A special `Float` constant which denotes positive infinity.
For example, this is the result of `1.0 / 0.0`.
Operations with `POSITIVE_INFINITY` as an operand may result in
`NEGATIVE_INFINITY`, `POSITIVE_INFINITY` or `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.</haxe_doc>
</POSITIVE_INFINITY>
<NaN public="1" set="null" static="1">
<x path="Float"/>
<haxe_doc>A special `Float` constant which denotes an invalid number.
`NaN` stands for "Not a Number". It occurs when a mathematically incorrect
operation is executed, such as taking the square root of a negative
number: `Math.sqrt(-1)`.
All further operations with `NaN` as an operand will result in `NaN`.
If this constant is converted to an `Int`, e.g. through `Std.int()`, the
result is unspecified.
In order to test if a value is `NaN`, you should use `Math.isNaN()` function.</haxe_doc>
</NaN>
<abs public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the absolute value of `v`.
- If `v` is positive or `0`, the result is unchanged. Otherwise the result is `-v`.
- If `v` is `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `NaN`, the result is `NaN`.</haxe_doc>
</abs>
<min public="1" set="method" static="1">
<f a="a:b">
<x path="Float"/>
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the smaller of values `a` and `b`.
- If `a` or `b` are `NaN`, the result is `NaN`.
- If `a` or `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`.
- If `a` and `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.</haxe_doc>
</min>
<max public="1" set="method" static="1">
<f a="a:b">
<x path="Float"/>
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the greater of values `a` and `b`.
- If `a` or `b` are `NaN`, the result is `NaN`.
- If `a` or `b` are `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `a` and `b` are `NEGATIVE_INFINITY`, the result is `NEGATIVE_INFINITY`.</haxe_doc>
</max>
<sin public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric sine of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</sin>
<cos public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric cosine of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</cos>
<tan public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric tangent of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</tan>
<asin public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric arc of the specified angle `v`, in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</asin>
<acos public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric arc cosine of the specified angle `v`,
in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</acos>
<atan public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric arc tangent of the specified angle `v`,
in radians.
If `v` is `NaN` or infinite, the result is `NaN`.</haxe_doc>
</atan>
<atan2 public="1" set="method" static="1">
<f a="y:x">
<x path="Float"/>
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the trigonometric arc tangent whose tangent is the quotient of
two specified numbers, in radians.
If parameter `x` or `y` is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is `NaN`.</haxe_doc>
</atan2>
<exp public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns Euler's number, raised to the power of `v`.
`exp(1.0)` is approximately `2.718281828459`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `NEGATIVE_INFINITY`, the result is `0.0`.
- If `v` is `NaN`, the result is `NaN`.</haxe_doc>
</exp>
<log public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the natural logarithm of `v`.
This is the mathematical inverse operation of exp,
i.e. `log(exp(v)) == v` always holds.
- If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `0.0`, the result is `NEGATIVE_INFINITY`.</haxe_doc>
</log>
<pow public="1" set="method" static="1">
<f a="v:exp">
<x path="Float"/>
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns a specified base `v` raised to the specified power `exp`.</haxe_doc>
</pow>
<sqrt public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the square root of `v`.
- If `v` is negative (including `NEGATIVE_INFINITY`) or `NaN`, the result is `NaN`.
- If `v` is `POSITIVE_INFINITY`, the result is `POSITIVE_INFINITY`.
- If `v` is `0.0`, the result is `0.0`.</haxe_doc>
</sqrt>
<round public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Int"/>
</f>
<haxe_doc>Rounds `v` to the nearest integer value.
Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.</haxe_doc>
</round>
<floor public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Int"/>
</f>
<haxe_doc>Returns the largest integer value that is not greater than `v`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.</haxe_doc>
</floor>
<ceil public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Int"/>
</f>
<haxe_doc>Returns the smallest integer value that is not less than `v`.
If `v` is outside of the signed `Int32` range, or is `NaN`, `NEGATIVE_INFINITY`
or `POSITIVE_INFINITY`, the result is unspecified.</haxe_doc>
</ceil>
<random public="1" set="method" static="1">
<f a=""><x path="Float"/></f>
<haxe_doc>Returns a pseudo-random number which is greater than or equal to `0.0`,
and less than `1.0`.</haxe_doc>
</random>
<ffloor public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the largest integer value that is not greater than `v`, as a `Float`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.</haxe_doc>
</ffloor>
<fceil public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Returns the smallest integer value that is not less than `v`, as a `Float`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.</haxe_doc>
</fceil>
<fround public="1" set="method" static="1">
<f a="v">
<x path="Float"/>
<x path="Float"/>
</f>
<haxe_doc>Rounds `v` to the nearest integer value, as a Float.
Ties are rounded up, so that `0.5` becomes `1` and `-0.5` becomes `0`.
If `v` is is `NaN`, `NEGATIVE_INFINITY` or `POSITIVE_INFINITY`,
the result is unspecified.</haxe_doc>
</fround>
<isFinite public="1" set="method" static="1">
<f a="f">
<x path="Float"/>
<x path="Bool"/>
</f>
<haxe_doc>Tells if `f` is a finite number.
If `f` is `POSITIVE_INFINITY`, `NEGATIVE_INFINITY` or `NaN`, the result
is `false`, otherwise the result is `true`.</haxe_doc>
</isFinite>
<isNaN public="1" set="method" static="1">
<f a="f">
<x path="Float"/>
<x path="Bool"/>
</f>
<haxe_doc>Tells if `f` is `Math.NaN`.
If `f` is `NaN`, the result is `true`, otherwise the result is `false`.
In particular, `null`, `POSITIVE_INFINITY` and `NEGATIVE_INFINITY` are
not considered `NaN`.</haxe_doc>
</isNaN>
<haxe_doc>This class defines mathematical functions and constants.
@see https://haxe.org/manual/std-math.html</haxe_doc>
<meta><m n=":directlyUsed"/></meta>
</class>
<class path="Reflect" params="" file="/usr/local/lib/haxe/std/flash/_std/Reflect.hx">
<hasField public="1" set="method" line="24" static="1">
<f a="o:field">
<d/>
<c path="String"/>
<x path="Bool"/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Tells if structure `o` has a field named `field`.
This is only guaranteed to work for anonymous structures. Refer to
`Type.getInstanceFields` for a function supporting class instances.
If `o` or `field` are null, the result is unspecified.</haxe_doc>
</hasField>
<field public="1" set="method" line="29" static="1">
<f a="o:field">
<d/>
<c path="String"/>
<d/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Returns the value of the field named `field` on object `o`.
If `o` is not an object or has no field named `field`, the result is
null.
If the field is defined as a property, its accessors are ignored. Refer
to `Reflect.getProperty` for a function supporting property accessors.
If `field` is null, the result is unspecified.</haxe_doc>
</field>
<getProperty public="1" set="method" line="39" static="1">
<f a="o:field">
<d/>
<c path="String"/>
<d/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Returns the value of the field named `field` on object `o`, taking
property getter functions into account.
If the field is not a property, this function behaves like
`Reflect.field`, but might be slower.
If `o` or `field` are null, the result is unspecified.</haxe_doc>
</getProperty>
<setProperty public="1" set="method" line="50" static="1">
<f a="o:field:value">
<d/>
<c path="String"/>
<d/>
<x path="Void"/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Sets the field named `field` of object `o` to value `value`, taking
property setter functions into account.
If the field is not a property, this function behaves like
`Reflect.setField`, but might be slower.
If `field` is null, the result is unspecified.</haxe_doc>
</setProperty>
<fields public="1" set="method" line="65" static="1">
<f a="o">
<d/>
<c path="Array"><c path="String"/></c>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Returns the fields of structure `o`.
This method is only guaranteed to work on anonymous structures. Refer to
`Type.getInstanceFields` for a function supporting class instances.
If `o` is null, the result is unspecified.</haxe_doc>
</fields>
<deleteField public="1" set="method" line="109" static="1">
<f a="o:field">
<d/>
<c path="String"/>
<x path="Bool"/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Removes the field named `field` from structure `o`.
This method is only guaranteed to work on anonymous structures.
If `o` or `field` are null, the result is unspecified.</haxe_doc>
</deleteField>
<haxe_doc>The Reflect API is a way to manipulate values dynamically through an
abstract interface in an untyped manner. Use with care.
@see https://haxe.org/manual/std-reflection.html</haxe_doc>
<meta>
<m n=":keep"/>
<m n=":directlyUsed"/>
<m n=":coreApi"/>
</meta>
</class>
<class path="Std" params="" file="/usr/local/lib/haxe/std/flash/_std/Std.hx">
<isOfType public="1" set="method" line="31" static="1">
<f a="v:t">
<d/>
<d/>
<x path="Bool"/>
</f>
<haxe_doc>Tells if a value `v` is of the type `t`. Returns `false` if `v` or `t` are null.
If `t` is a class or interface with `@:generic` meta, the result is `false`.</haxe_doc>
</isOfType>
<string public="1" set="method" line="44" static="1">
<f a="s">
<d/>
<c path="String"/>
</f>
<haxe_doc>Converts any value to a String.
If `s` is of `String`, `Int`, `Float` or `Bool`, its value is returned.
If `s` is an instance of a class and that class or one of its parent classes has
a `toString` method, that method is called. If no such method is present, the result
is unspecified.
If `s` is an enum constructor without argument, the constructor's name is returned. If
arguments exists, the constructor's name followed by the String representations of
the arguments is returned.
If `s` is a structure, the field names along with their values are returned. The field order
and the operator separating field names and values are unspecified.
If s is null, "null" is returned.</haxe_doc>
</string>
<haxe_doc>The Std class provides standard methods for manipulating basic types.</haxe_doc>
<meta>
<m n=":keep"/>
<m n=":directlyUsed"/>
<m n=":coreApi"/>
</meta>
</class>
<abstract path="Void" params="" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<this><x path="Void"/></this>
<haxe_doc>The standard `Void` type. Only `null` values can be of the type `Void`.
@see https://haxe.org/manual/types-void.html</haxe_doc>
<meta><m n=":coreType"/></meta>
</abstract>
<abstract path="Float" params="" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<this><x path="Float"/></this>
<haxe_doc><![CDATA[The standard `Float` type, this is a double-precision IEEE 64bit float.
On static targets, `null` cannot be assigned to Float. If this is necessary,
`Null<Float>` can be used instead.
`Std.int` converts a `Float` to an `Int`, rounded towards 0.
`Std.parseFloat` converts a `String` to a `Float`.
@see https://haxe.org/manual/types-basic-types.html
@see https://haxe.org/manual/types-nullability.html]]></haxe_doc>
<meta>
<m n=":valueUsed"/>
<m n=":coreType"/>
<m n=":notNull"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<abstract path="Int" params="" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<this><x path="Int"/></this>
<to><icast><x path="Float"/></icast></to>
<haxe_doc><![CDATA[The standard `Int` type. Its precision depends on the platform.
On static targets, `null` cannot be assigned to `Int`. If this is necessary,
`Null<Int>` can be used instead.
`Std.int` converts a `Float` to an `Int`, rounded towards 0.
`Std.parseInt` converts a `String` to an `Int`.
@see https://haxe.org/manual/types-basic-types.html
@see https://haxe.org/manual/std-math-integer-math.html
@see https://haxe.org/manual/types-nullability.html]]></haxe_doc>
<meta>
<m n=":valueUsed"/>
<m n=":coreType"/>
<m n=":notNull"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<abstract path="Null" params="T" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<from><icast><c path="Null.T"/></icast></from>
<this><x path="Null"><c path="Null.T"/></x></this>
<to><icast><c path="Null.T"/></icast></to>
<haxe_doc><![CDATA[`Null<T>` is a wrapper that can be used to make the basic types `Int`,
`Float` and `Bool` nullable on static targets.
If null safety is enabled, only types wrapped in `Null<T>` are nullable.
Otherwise, it has no effect on non-basic-types, but it can be useful as a way to document
that `null` is an acceptable value for a method argument, return value or variable.
@see https://haxe.org/manual/types-nullability.html]]></haxe_doc>
<meta>
<m n=":forward"/>
<m n=":coreType"/>
</meta>
</abstract>
<abstract path="Bool" params="" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<this><x path="Bool"/></this>
<haxe_doc><![CDATA[The standard Boolean type, which can either be `true` or `false`.
On static targets, `null` cannot be assigned to `Bool`. If this is necessary,
`Null<Bool>` can be used instead.
@see https://haxe.org/manual/types-bool.html
@see https://haxe.org/manual/types-nullability.html]]></haxe_doc>
<meta>
<m n=":coreType"/>
<m n=":notNull"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<abstract path="Dynamic" params="T" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<this><x path="Dynamic"><c path="Dynamic.T"/></x></this>
<haxe_doc>`Dynamic` is a special type which is compatible with all other types.
Use of `Dynamic` should be minimized as it prevents several compiler
checks and optimizations. See `Any` type for a safer alternative for
representing values of any type.
@see https://haxe.org/manual/types-dynamic.html</haxe_doc>
<meta>
<m n=":valueUsed"/>
<m n=":coreType"/>
<m n=":runtimeValue"/>
</meta>
</abstract>
<typedef path="Iterator" params="T" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<a>
<next set="method">
<f a=""><c path="Iterator.T"/></f>
<haxe_doc>Returns the current item of the `Iterator` and advances to the next one.
This method is not required to check `hasNext()` first. A call to this
method while `hasNext()` is `false` yields unspecified behavior.
On the other hand, iterators should not require a call to `hasNext()`
before the first call to `next()` if an element is available.</haxe_doc>
</next>
<hasNext set="method">
<f a=""><x path="Bool"/></f>
<haxe_doc>Returns `false` if the iteration is complete, `true` otherwise.
Usually iteration is considered to be complete if all elements of the
underlying data structure were handled through calls to `next()`. However,
in custom iterators any logic may be used to determine the completion
state.</haxe_doc>
</hasNext>
</a>
<haxe_doc>An `Iterator` is a structure that permits iteration over elements of type `T`.
Any class with matching `hasNext()` and `next()` fields is considered an `Iterator`
and can then be used e.g. in `for`-loops. This makes it easy to implement
custom iterators.
@see https://haxe.org/manual/lf-iterators.html</haxe_doc>
</typedef>
<typedef path="Iterable" params="T" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<a><iterator set="method"><f a=""><t path="Iterator"><c path="Iterable.T"/></t></f></iterator></a>
<haxe_doc>An `Iterable` is a data structure which has an `iterator()` method.
See `Lambda` for generic functions on iterable structures.
@see https://haxe.org/manual/lf-iterators.html</haxe_doc>
</typedef>
<typedef path="KeyValueIterator" params="K:V" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<t path="Iterator"><a>
<value><c path="KeyValueIterator.V"/></value>
<key><c path="KeyValueIterator.K"/></key>
</a></t>
<haxe_doc>A `KeyValueIterator` is an `Iterator` that has a key and a value.</haxe_doc>
</typedef>
<typedef path="KeyValueIterable" params="K:V" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes">
<a><keyValueIterator set="method"><f a=""><t path="KeyValueIterator">
<c path="KeyValueIterable.K"/>
<c path="KeyValueIterable.V"/>
</t></f></keyValueIterator></a>
<haxe_doc>A `KeyValueIterable` is a data structure which has a `keyValueIterator()`
method to iterate over key-value-pairs.</haxe_doc>
</typedef>
<class path="ArrayAccess" params="T" file="/usr/local/lib/haxe/std/StdTypes.hx" module="StdTypes" extern="1" interface="1"><haxe_doc>`ArrayAccess` is used to indicate a class that can be accessed using brackets.
The type parameter represents the type of the elements stored.
This interface should be used for externs only. Haxe does not support custom
array access on classes. However, array access can be implemented for
abstract types.
@see https://haxe.org/manual/types-abstract-array-access.html</haxe_doc></class>
<class path="String" params="" file="/usr/local/lib/haxe/std/flash/_std/String.hx" extern="1">
<fromCharCode public="1" get="inline" set="null" line="38" static="1">
<f a="code">
<x path="Int"/>
<c path="String"/>
</f>
<meta><m n=":has_untyped"/></meta>
<haxe_doc>Returns the String corresponding to the character code `code`.
If `code` is negative or has another invalid value, the result is
unspecified.</haxe_doc>
</fromCharCode>
<length public="1" set="null">
<x path="Int"/>
<haxe_doc>The number of characters in `this` String.</haxe_doc>
</length>
<toUpperCase public="1" set="method">
<f a=""><c path="String"/></f>
<haxe_doc>Returns a String where all characters of `this` String are upper case.</haxe_doc>
</toUpperCase>
<toLowerCase public="1" set="method">
<f a=""><c path="String"/></f>
<haxe_doc>Returns a String where all characters of `this` String are lower case.</haxe_doc>
</toLowerCase>
<charAt public="1" set="method">
<f a="index">
<x path="Int"/>
<c path="String"/>
</f>
<haxe_doc>Returns the character at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, the empty String `""`
is returned.</haxe_doc>
</charAt>
<charCodeAt public="1" set="method">
<f a="index">
<x path="Int"/>
<x path="Null"><x path="Int"/></x>
</f>
<haxe_doc>Returns the character code at position `index` of `this` String.
If `index` is negative or exceeds `this.length`, `null` is returned.
To obtain the character code of a single character, `"x".code` can be
used instead to inline the character code at compile time. Note that
this only works on String literals of length 1.</haxe_doc>
</charCodeAt>
<indexOf public="1" set="method">
<f a="str:?startIndex">
<c path="String"/>
<x path="Int"/>
<x path="Int"/>
</f>
<haxe_doc>Returns the position of the leftmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String starting from `startIndex`.
If `startIndex` exceeds `this.length`, -1 is returned.
If `startIndex` is negative, the result is unspecifed.
Otherwise the search is performed within `this` String. In either case,
the returned position is relative to the beginning of `this` String.
If `str` cannot be found, -1 is returned.</haxe_doc>
</indexOf>
<lastIndexOf public="1" set="method">
<f a="str:?startIndex">
<c path="String"/>
<x path="Int"/>
<x path="Int"/>
</f>
<haxe_doc>Returns the position of the rightmost occurrence of `str` within `this`
String.
If `startIndex` is given, the search is performed within the substring
of `this` String from 0 to `startIndex + str.length`. Otherwise the search
is performed within `this` String. In either case, the returned position
is relative to the beginning of `this` String.
If `startIndex` is negative, the result is unspecifed.
If `str` cannot be found, -1 is returned.</haxe_doc>
</lastIndexOf>
<split public="1" set="method">
<f a="delimiter">
<c path="String"/>
<c path="Array"><c path="String"/></c>
</f>
<haxe_doc>Splits `this` String at each occurrence of `delimiter`.
If `this` String is the empty String `""`, the result is not consistent
across targets and may either be `[]` (on Js, Cpp) or `[""]`.
If `delimiter` is the empty String `""`, `this` String is split into an
Array of `this.length` elements, where the elements correspond to the
characters of `this` String.
If `delimiter` is not found within `this` String, the result is an Array
with one element, which equals `this` String.
If `delimiter` is null, the result is unspecified.
Otherwise, `this` String is split into parts at each occurrence of
`delimiter`. If `this` String starts (or ends) with `delimiter`, the
result `Array` contains a leading (or trailing) empty String `""` element.
Two subsequent delimiters also result in an empty String `""` element.</haxe_doc>
</split>
<substr public="1" set="method">
<f a="pos:?len">
<x path="Int"/>
<x path="Int"/>
<c path="String"/>
</f>
<haxe_doc>Returns `len` characters of `this` String, starting at position `pos`.
If `len` is omitted, all characters from position `pos` to the end of
`this` String are included.
If `pos` is negative, its value is calculated from the end of `this`
String by `this.length + pos`. If this yields a negative value, 0 is
used instead.
If the calculated position + `len` exceeds `this.length`, the characters
from that position to the end of `this` String are returned.
If `len` is negative, the result is unspecified.</haxe_doc>
</substr>
<substring public="1" set="method">
<f a="startIndex:?endIndex">
<x path="Int"/>
<x path="Int"/>
<c path="String"/>
</f>
<haxe_doc>Returns the part of `this` String from `startIndex` to but not including `endIndex`.
If `startIndex` or `endIndex` are negative, 0 is used instead.
If `startIndex` exceeds `endIndex`, they are swapped.
If the (possibly swapped) `endIndex` is omitted or exceeds
`this.length`, `this.length` is used instead.
If the (possibly swapped) `startIndex` exceeds `this.length`, the empty
String `""` is returned.</haxe_doc>
</substring>
<toString public="1" set="method">
<f a=""><c path="String"/></f>
<haxe_doc>Returns the String itself.</haxe_doc>
</toString>
<new public="1" set="method">
<f a="string">
<c path="String"/>
<x path="Void"/>
</f>
<haxe_doc>Creates a copy from a given String.</haxe_doc>
</new>
<haxe_doc>The basic String class.
A Haxe String is immutable, it is not possible to modify individual
characters. No method of this class changes the state of `this` String.
Strings can be constructed using the String literal syntax `"string value"`.
String can be concatenated by using the `+` operator. If an operand is not a
String, it is passed th