/* * Copyright 2010-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package kotlin /** * Represents a readable sequence of [Char] values. */ public interface CharSequence { /** * Returns the length of this character sequence. */ public val length: Int /** * Returns the character at the specified [index] in this character sequence. * * @throws [IndexOutOfBoundsException] if the [index] is out of bounds of this character sequence. * * Note that the [String] implementation of this interface in Kotlin/JS has unspecified behavior * if the [index] is out of its bounds. */ public operator fun get(index: Int): Char /** * Returns a new character sequence that is a subsequence of this character sequence, * starting at the specified [startIndex] and ending right before the specified [endIndex]. * * @param startIndex the start index (inclusive). * @param endIndex the end index (exclusive). */ public fun subSequence(startIndex: Int, endIndex: Int): CharSequence }