class dlstreamer::DMATensor#

#include <tensor.h>

class DMATensor: public dlstreamer::BaseTensor {
public:
    // construction

    DMATensor(
        int dma_fd,
        int drm_modifier,
        const TensorInfo& info,
        bool take_ownership = false,
        ContextPtr context = nullptr
    );

    // methods

    int dma_fd() const;
    int drm_modifier() const;
    size_t offset() const;
};

Inherited Members#

public:
    // typedefs

    typedef intptr_t handle_t;

    // methods

    Tensor& operator = (const Tensor&);
    virtual const TensorInfo& info() const = 0;
    virtual MemoryType memory_type() const = 0;
    virtual ContextPtr context() const = 0;
    virtual void* data() const = 0;
    virtual handle_t handle(std::string_view key = {}) const = 0;
    virtual handle_t handle(std::string_view key, handle_t default_value) const = 0;
    virtual TensorPtr parent() const = 0;

    template <typename T>
    T* data() const;

    template <typename T>
    T* data(
        std::vector<size_t> offset,
        bool left_offset = true
    ) const;

    virtual MemoryType memory_type() const;
    virtual void* data() const;
    virtual handle_t handle(std::string_view key) const;
    virtual handle_t handle(std::string_view key, handle_t default_value) const;
    virtual const TensorInfo& info() const;
    virtual ContextPtr context() const;
    virtual TensorPtr parent() const;
    void set_parent(TensorPtr parent);
    void set_handle(const std::string& key, handle_t handle);