// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #include "IEngine.h" namespace _winml { struct idata { virtual ~idata() {} virtual size_t num_elements() = 0; virtual size_t size_in_bytes() = 0; virtual size_t num_buffers() = 0; virtual std::vector& buffers() = 0; virtual gsl::span buffer(bool should_sync_buffer) = 0; virtual bool flush() = 0; virtual void set(size_t data_size, const byte* data) = 0; }; } // namespace _winml