/* * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "shared/source/device_binary_format/ar/ar.h" #include "shared/source/utilities/arrayref.h" #include "shared/source/utilities/const_stringref.h" #include #include namespace NEO { namespace Ar { struct ArEncoder { ArEncoder(bool padTo8Bytes = false) : padTo8Bytes(padTo8Bytes) {} ArFileEntryHeader *appendFileEntry(const ConstStringRef fileName, const ArrayRef fileData); std::vector encode() const; protected: std::vector fileEntries; bool padTo8Bytes = false; uint32_t paddingEntry = 0U; }; } // namespace Ar } // namespace NEO