CapturingSlot

class CapturingSlot<T : Any>

Slot allows to capture one value.

If this values is lambda then it's possible to invoke it.

Constructors

Link copied to clipboard
fun CapturingSlot()

Functions

Link copied to clipboard
fun clear()
Link copied to clipboard
open override fun toString(): String

Properties

Link copied to clipboard
lateinit var captured: T
Link copied to clipboard
var isCaptured: Boolean = false
Link copied to clipboard
var isNull: Boolean = false

Extensions

Link copied to clipboard
inline fun <T : suspend () -> R, R> CapturingSlot<T>.coInvoke(): R
inline fun <T : suspend (A1) -> R, R, A1> CapturingSlot<T>.coInvoke(arg1: A1): R
inline fun <T : suspend (A1, A2) -> R, R, A1, A2> CapturingSlot<T>.coInvoke(arg1: A1, arg2: A2): R
inline fun <T : suspend (A1, A2, A3) -> R, R, A1, A2, A3> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3): R
inline fun <T : suspend (A1, A2, A3, A4) -> R, R, A1, A2, A3, A4> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4): R
inline fun <T : suspend (A1, A2, A3, A4, A5) -> R, R, A1, A2, A3, A4, A5> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6) -> R, R, A1, A2, A3, A4, A5, A6> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7) -> R, R, A1, A2, A3, A4, A5, A6, A7> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20,     arg21: A21): R
inline fun <T : suspend (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> CapturingSlot<T>.coInvoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20,     arg21: A21,     arg22: A22): R
Link copied to clipboard
inline fun <T : () -> R, R> CapturingSlot<T>.invoke(): R
inline fun <T : (A1) -> R, R, A1> CapturingSlot<T>.invoke(arg1: A1): R
inline fun <T : (A1, A2) -> R, R, A1, A2> CapturingSlot<T>.invoke(arg1: A1, arg2: A2): R
inline fun <T : (A1, A2, A3) -> R, R, A1, A2, A3> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3): R
inline fun <T : (A1, A2, A3, A4) -> R, R, A1, A2, A3, A4> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4): R
inline fun <T : (A1, A2, A3, A4, A5) -> R, R, A1, A2, A3, A4, A5> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5): R
inline fun <T : (A1, A2, A3, A4, A5, A6) -> R, R, A1, A2, A3, A4, A5, A6> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7) -> R, R, A1, A2, A3, A4, A5, A6, A7> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20,     arg21: A21): R
inline fun <T : (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22) -> R, R, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22> CapturingSlot<T>.invoke(    arg1: A1,     arg2: A2,     arg3: A3,     arg4: A4,     arg5: A5,     arg6: A6,     arg7: A7,     arg8: A8,     arg9: A9,     arg10: A10,     arg11: A11,     arg12: A12,     arg13: A13,     arg14: A14,     arg15: A15,     arg16: A16,     arg17: A17,     arg18: A18,     arg19: A19,     arg20: A20,     arg21: A21,     arg22: A22): R