{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE FlexibleInstances #-}

module Torch.Internal.Managed.Type.TensorList where


import Foreign.C.String
import Foreign.C.Types
import Foreign
import Torch.Internal.Type
import Torch.Internal.Class
import Torch.Internal.Cast
import Torch.Internal.Objects
import qualified Torch.Internal.Unmanaged.Type.TensorList as Unmanaged





newTensorList
  :: IO (ForeignPtr TensorList)
newTensorList :: IO (ForeignPtr TensorList)
newTensorList = forall a ca. Castable a ca => IO ca -> IO a
_cast0 IO (Ptr TensorList)
Unmanaged.newTensorList

tensorList_empty
  :: ForeignPtr TensorList
  -> IO (CBool)
tensorList_empty :: ForeignPtr TensorList -> IO CBool
tensorList_empty = forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
_cast1 Ptr TensorList -> IO CBool
Unmanaged.tensorList_empty

tensorList_size
  :: ForeignPtr TensorList
  -> IO (CSize)
tensorList_size :: ForeignPtr TensorList -> IO CSize
tensorList_size = forall a ca y cy.
(Castable a ca, Castable y cy) =>
(ca -> IO cy) -> a -> IO y
_cast1 Ptr TensorList -> IO CSize
Unmanaged.tensorList_size

tensorList_at_s
  :: ForeignPtr TensorList
  -> CSize
  -> IO (ForeignPtr Tensor)
tensorList_at_s :: ForeignPtr TensorList -> CSize -> IO (ForeignPtr Tensor)
tensorList_at_s = forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
_cast2 Ptr TensorList -> CSize -> IO (Ptr Tensor)
Unmanaged.tensorList_at_s

tensorList_push_back_t
  :: ForeignPtr TensorList
  -> ForeignPtr Tensor
  -> IO (())
tensorList_push_back_t :: ForeignPtr TensorList -> ForeignPtr Tensor -> IO ()
tensorList_push_back_t = forall a ca x1 cx1 y cy.
(Castable a ca, Castable x1 cx1, Castable y cy) =>
(ca -> cx1 -> IO cy) -> a -> x1 -> IO y
_cast2 Ptr TensorList -> Ptr Tensor -> IO ()
Unmanaged.tensorList_push_back_t