<div class='sourceset sourceset-android'>Android</div>

```kotlin
public abstract class RemoteString internal constructor() : BaseRemoteState<String>()
```

Abstract base class for all remote string representations.

`RemoteString` represents a string value that can be a constant, a named variable, or a dynamic
expression (e.g., a concatenation).

## Functions

<h2 id="plus-v">plus</h2>

```kotlin
public operator fun plus(v: RemoteString): RemoteString
```

Concatenates this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) with another [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString).

#### Parameters

| | |
| --- | --- |
| v | The other [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) to concatenate. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the concatenated string. |

<hr class="docs-overload-divider">

<h2 id="plus-v-2">plus</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public operator fun plus(v: String): RemoteString
```

Concatenates this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) with a `String`.

#### Parameters

| | |
| --- | --- |
| v | The `String` to concatenate. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the concatenated string. |

<hr class="docs-overload-divider">

<h2 id="substring-start">substring</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public fun substring(start: Int): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a substring of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString).

#### Parameters

| | |
| --- | --- |
| start | The inclusive index of the character at which the substring starts. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the substring. |

<hr class="docs-overload-divider">

<h2 id="uppercase">uppercase</h2>

```kotlin
public fun uppercase(): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a upper case version of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) using
the system default locale.

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the upper case version of this string. |

<hr class="docs-overload-divider">

<h2 id="lowercase">lowercase</h2>

```kotlin
public fun lowercase(): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a lower case version of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) using
the system default locale.

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the lower case version of this string. |

<hr class="docs-overload-divider">

<h2 id="trim">trim</h2>

```kotlin
public fun trim(): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to the trimmed version of this this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString)
where leading and trailing whitespace characters have been removed.

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the trimmed version of this string. |

<hr class="docs-overload-divider">

<h2 id="substring-start-2">substring</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public fun substring(start: RemoteInt): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a substring of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString). The substring
starts at a dynamic `start` index (represented by a [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt)) and extends to the end of
the string.

#### Parameters

| | |
| --- | --- |
| start | The [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) representing the inclusive index of the character at which the substring starts. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the substring. |

<hr class="docs-overload-divider">

<h2 id="substring-start-end">substring</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public fun substring(start: Int, end: Int): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a substring of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString). The substring
starts at a fixed `start` index and ends before a fixed `end` index.

#### Parameters

| | |
| --- | --- |
| start | The inclusive index of the character at which the substring starts. |
| end | The exclusive index after the last character of the substring. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the substring. |

<hr class="docs-overload-divider">

<h2 id="substring-start-end-2">substring</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public fun substring(start: Int, end: RemoteInt): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a substring of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString). The substring
starts at a fixed `start` index and ends before a dynamic `end` index.

#### Parameters

| | |
| --- | --- |
| start | The inclusive index of the character at which the substring starts. |
| end | The [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) representing the exclusive index after the last character of the substring. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the substring. |

<hr class="docs-overload-divider">

<h2 id="substring-start-end-3">substring</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public fun substring(start: RemoteInt, end: RemoteInt): RemoteString
```

Returns a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) that evaluates to a substring of this [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString). Both the
`start` and `end` indices are dynamic, represented by [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt)s.

#### Parameters

| | |
| --- | --- |
| start | The [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) representing the inclusive index of the character at which the substring starts. |
| end | The [RemoteInt](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteInt) representing the exclusive index after the last character of the substring. |

#### Returns

| | |
| --- | --- |
|  | A new [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the substring. |

<hr class="docs-overload-divider">

<h2 id="computerequiredcodepointset-creationstate">computeRequiredCodePointSet</h2>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
    public abstract fun computeRequiredCodePointSet(
        creationState: RemoteComposeCreationState
    ): Set<String>?
```

Attempts to compute the set of unicode code points that can occur in this string, or null if
that can\'t be statically determined (e.g. named strings rely on external state).

This is useful if you need to compute the subset of a font that\'s required to render the
string.

#### Parameters

| | |
| --- | --- |
| creationState | The `RemoteComposeCreationState` context this is being evaluated within. |

#### Returns

| | |
| --- | --- |
|  | The set of unicode code points that can occur in this string, or null if that can\'t be statically determined . |

## Companion Object

#### Methods

<hr class="docs-overload-divider">

<h2 id="invoke-v">invoke</h2>

<div class='sourceset sourceset-android'>Android</div>

```kotlin
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
        public operator fun invoke(v: String): RemoteString
```

Creates a [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) instance from a constant `String` literal.

#### Parameters

| | |
| --- | --- |
| v | The constant `String` value. |

#### Returns

| | |
| --- | --- |
|  | A [MutableRemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/MutableRemoteString) representing the constant string. |

<hr class="docs-overload-divider">

<h2 id="createnamedremotestring-name-defaultvalue-domain">createNamedRemoteString</h2>

<div class='sourceset sourceset-android'>Android</div>

```kotlin
@JvmStatic
        @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
        public fun createNamedRemoteString(
            name: String,
            defaultValue: String,
            domain: RemoteState.Domain = RemoteState.Domain.User,
        ): RemoteString
```

Creates a named [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) with an initial value.

#### Parameters

| | |
| --- | --- |
| name | A unique name to identify this state within its `domain`. |
| defaultValue | The initial `String` value for the named remote string. |
| domain | The domain for the named state. Defaults to [RemoteState.Domain.User](/jetpack-compose/androidx.compose.remote/remote-creation-compose/objects/RemoteState.Domain.User). |

#### Returns

| | |
| --- | --- |
|  | A [RemoteString](/jetpack-compose/androidx.compose.remote/remote-creation-compose/classes/RemoteString) representing the named string. |