class_docstr: Low-level callback function.
  
  Parameters
  ----------
  function : {PyCapsule, ctypes function pointer, cffi function pointer}
      Low-level callback function.
  user_data : {PyCapsule, ctypes void pointer, cffi void pointer}
      User data to pass on to the callback function.
  signature : str, optional
      Signature of the function. If omitted, determined from *function*,
      if possible.
  
  Attributes
  ----------
  function
      Callback function given.
  user_data
      User data given.
  signature
      Signature of the function.
  
  Methods
  -------
  from_cython
      Class method for constructing callables from Cython C-exported
      functions.
  
  Notes
  -----
  The argument ``function`` can be one of:
  
  - PyCapsule, whose name contains the C function signature
  - ctypes function pointer
  - cffi function pointer
  
  The signature of the low-level callback must match one of  those expected 
  by the routine it is passed to.
  
  If constructing low-level functions from a PyCapsule, the name of the 
  capsule must be the corresponding signature, in the format::
  
      return_type (arg1_type, arg2_type, ...)
  
  For example::
  
      "void (double)"
      "double (double, int *, void *)"
  
  The context of a PyCapsule passed in as ``function`` is used as ``user_data``, 
  if an explicit value for `user_data` was not given.
class_docstr_tok: ["Low-level","callback","function",".","Parameters","--","--","--","--","--","function",":","{","PyCapsule",",","ctypes","function","pointer",",","cffi","function","pointer","}","Low-level","callback","function",".","user_data",":","{","PyCapsule",",","ctypes","void","pointer",",","cffi","void","pointer","}","User","data","to","pass","on","to","the","callback","function",".","signature",":","str",",","optional","Signature","of","the","function",".","If","omitted",",","determined","from","*","function","*",",","if","possible",".","Attributes","--","--","--","--","--","function","Callback","function","given",".","user_data","User","data","given",".","signature","Signature","of","the","function",".","Methods","--","--","--","-","from_cython","Class","method","for","constructing","callables","from","Cython","C-exported","functions",".","Notes","--","--","-","The","argument","``","function","``","can","be","one","of",":","-","PyCapsule",",","whose","name","contains","the","C","function","signature","-","ctypes","function","pointer","-","cffi","function","pointer","The","signature","of","the","low-level","callback","must","match","one","of","those","expected","by","the","routine","it","is","passed","to",".","If","constructing","low-level","functions","from","a","PyCapsule",",","the","name","of","the","capsule","must","be","the","corresponding","signature",",","in","the","format",":",":","return_type","(","arg1_type",",","arg2_type",",","...",")","For","example",":",":","``","void","(","double",")","''","``","double","(","double",",","int","*",",","void","*",")","''","The","context","of","a","PyCapsule","passed","in","as","``","function","``","is","used","as","``","user_data","``",",","if","an","explicit","value","for","`","user_data","`","was","not","given","."]
code: def user_data(self):
      return tuple.__getitem__(self, 2)
  
file_path: catboost/contrib/python/scipy/py2/scipy/_lib/_ccallback.py
imports: from .None import _ccallback_c
  import ctypes
label_desc: Use image node_id 4 for calling the LowLevelCallable obj's underlying member method code with example usage: obj.user_data() and returns: tuple