code: def masked_len_impl(context, builder, sig, args):
      ret = cgutils.create_struct_proxy(sig.return_type)(
          context, builder
      )
      masked_sv_ty = sig.args[0]
      masked_sv = cgutils.create_struct_proxy(masked_sv_ty)(
          context, builder, value=args[0]
      )
      result = len_impl(
          context, builder, size_type(string_view), (masked_sv.value,)
      )
      ret.value = result
      ret.valid = masked_sv.valid
  
      return ret._getvalue()
  
imports: import operator
  from functools import partial
  from numba import cuda, types
  from numba.core import cgutils
  from numba.core.datamodel import default_manager
  from numba.core.typing import signature
  from numba.cuda.cudaimpl import lower, registry
  from cudf._lib.strings_udf import get_character_cases_table_ptr, get_character_flags_table_ptr, get_special_case_mapping_table_ptr
  from cudf.core.udf.masked_typing import MaskedType
  from cudf.core.udf.strings_typing import size_type, string_view, udf_string
label_desc: Use image node_id 44 for calling a global function with example usage: masked_len_impl(context, builder, sig, args) and returns: ret