//
// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//

#pragma once

namespace armnnUtils
{
namespace Threads
{

int GetCurrentThreadId();

}
}
