py_dict.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include "py_ptr.h"
  3. #include "py_ctx.h"
  4. namespace NPython {
  5. extern PyTypeObject PyLazyDictType;
  6. extern PyTypeObject PyLazySetType;
  7. TPyObjectPtr ToPyLazyDict(
  8. const TPyCastContext::TPtr& castCtx,
  9. const NKikimr::NUdf::TType* keyType,
  10. const NKikimr::NUdf::TType* payloadType,
  11. const NKikimr::NUdf::TUnboxedValuePod& value);
  12. TPyObjectPtr ToPyLazySet(
  13. const TPyCastContext::TPtr& castCtx,
  14. const NKikimr::NUdf::TType* itemType,
  15. const NKikimr::NUdf::TUnboxedValuePod& value);
  16. NKikimr::NUdf::TUnboxedValue FromPyMapping(
  17. const TPyCastContext::TPtr& castCtx,
  18. const NKikimr::NUdf::TType* keyType,
  19. const NKikimr::NUdf::TType* payType,
  20. PyObject* map);
  21. NKikimr::NUdf::TUnboxedValue FromPyDict(
  22. const TPyCastContext::TPtr& castCtx,
  23. const NKikimr::NUdf::TType* keyType,
  24. const NKikimr::NUdf::TType* payType,
  25. PyObject* dict);
  26. NKikimr::NUdf::TUnboxedValue FromPySet(
  27. const TPyCastContext::TPtr& castCtx,
  28. const NKikimr::NUdf::TType* itemType,
  29. PyObject* set);
  30. NKikimr::NUdf::TUnboxedValue FromPySequence(
  31. const TPyCastContext::TPtr& castCtx,
  32. const NKikimr::NUdf::TType* keyType,
  33. PyObject* sequence);
  34. NKikimr::NUdf::TUnboxedValue FromPySequence(
  35. const TPyCastContext::TPtr& castCtx,
  36. const NKikimr::NUdf::TType* itemType,
  37. const NKikimr::NUdf::TDataTypeId keyType,
  38. PyObject* sequence);
  39. } // namspace NPython