| /* |
| * Copyright 2016-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. |
| */ |
| @file:Suppress("NO_EXPLICIT_VISIBILITY_IN_API_MODE") |
| |
| package kotlinx.coroutines.internal |
| |
| import kotlinx.coroutines.* |
| import kotlin.jvm.* |
| |
| /** @suppress **This is unstable API and it is subject to change.** */ |
| public expect open class LockFreeLinkedListNode() { |
| public val isRemoved: Boolean |
| public val nextNode: LockFreeLinkedListNode |
| public val prevNode: LockFreeLinkedListNode |
| public fun addLast(node: LockFreeLinkedListNode) |
| public fun addOneIfEmpty(node: LockFreeLinkedListNode): Boolean |
| public inline fun addLastIf(node: LockFreeLinkedListNode, crossinline condition: () -> Boolean): Boolean |
| public open fun remove(): Boolean |
| |
| } |
| |
| /** @suppress **This is unstable API and it is subject to change.** */ |
| public expect open class LockFreeLinkedListHead() : LockFreeLinkedListNode { |
| public val isEmpty: Boolean |
| public inline fun <reified T : LockFreeLinkedListNode> forEach(block: (T) -> Unit) |
| public final override fun remove(): Nothing |
| } |