py_list.h 950 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "py_ptr.h"
  3. #include "py_ctx.h"
  4. namespace NPython {
  5. extern PyTypeObject PyLazyListIteratorType;
  6. extern PyTypeObject PyLazyListType;
  7. extern PyTypeObject PyThinListIteratorType;
  8. extern PyTypeObject PyThinListType;
  9. TPyObjectPtr ToPyLazyList(
  10. const TPyCastContext::TPtr& castCtx,
  11. const NKikimr::NUdf::TType* itemType,
  12. const NKikimr::NUdf::TUnboxedValuePod& value);
  13. NKikimr::NUdf::TUnboxedValue FromPyLazyGenerator(
  14. const TPyCastContext::TPtr& castCtx,
  15. const NKikimr::NUdf::TType* type,
  16. TPyObjectPtr callableObj);
  17. NKikimr::NUdf::TUnboxedValue FromPyLazyIterable(
  18. const TPyCastContext::TPtr& castCtx,
  19. const NKikimr::NUdf::TType* type,
  20. TPyObjectPtr iterableObj);
  21. NKikimr::NUdf::TUnboxedValue FromPyLazyIterator(
  22. const TPyCastContext::TPtr& castCtx,
  23. const NKikimr::NUdf::TType* type,
  24. TPyObjectPtr iteratorObj);
  25. } // namspace NPython