//===-- Device.cpp - Device implementation --------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// /// /// \file /// Implementation of Device class internals. /// //===----------------------------------------------------------------------===// #include "streamexecutor/Device.h" #include #include "streamexecutor/PlatformDevice.h" #include "streamexecutor/Stream.h" #include "llvm/ADT/STLExtras.h" namespace streamexecutor { Device::Device(PlatformDevice *PDevice) : PDevice(PDevice) {} Device::~Device() = default; Expected Device::createStream() { Expected MaybePlatformStream = PDevice->createStream(); if (!MaybePlatformStream) return MaybePlatformStream.takeError(); return Stream(PDevice, *MaybePlatformStream); } } // namespace streamexecutor