Returns wether a given entity exists in the Lua script L.
The entity is identified by a table handle for the containing table if it is not a global variable. A key or a position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(flu_State) | :: | L | Handle to the Lua script. |
|||
integer, | intent(in), | optional | :: | thandle | Handle to the table to look the value up in. |
|
character(len=*), | intent(in), | optional | :: | key | Name of the entry to look for. Key and pos are both optional, however at least one of them has to be supplied. The key takes precedence over the pos if both are given. |
|
integer, | intent(in), | optional | :: | pos | Position of the entry to look for in the table. It allows the access to unnamed arrays in the Lua tables. |
function aot_exists(L, thandle, key, pos) result(exists)
type(flu_State) :: L !! Handle to the Lua script.
!> Handle to the table to look the value up in.
integer, intent(in), optional :: thandle
!> Name of the entry to look for.
!!
!! Key and pos are both optional, however at least one of them has to be
!! supplied.
!! The key takes precedence over the pos if both are given.
character(len=*), intent(in), optional :: key
!> Position of the entry to look for in the table.
!!
!! It allows the access to unnamed arrays in the Lua tables.
integer, intent(in), optional :: pos
logical :: exists
logical :: valid_args
integer :: toptype
exists = .false.
valid_args = .false.
toptype = FLU_TNONE
call aot_table_push( L = L, &
& thandle = thandle, &
& key = key, &
& pos = pos, &
& toptype = toptype )
exists = (toptype /= FLU_TNONE .and. toptype /= FLU_TNIL)
call flu_pop(L)
end function aot_exists