libcruft-vk/meta/info.cpp

40 lines
1.1 KiB
C++
Raw Normal View History

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Copyright:
* 2017-2018, Danny Robson <danny@nerdcruft.net>
*/
#include "info.hpp"
#include "load/ostream.hpp"
#include "instance.hpp"
#include "physical_device.hpp"
#include "ostream.hpp"
#include "load/vendor.hpp"
#include "load/vtable.hpp"
#include <cruft/util/iterator/infix.hpp>
#include <ostream>
///////////////////////////////////////////////////////////////////////////////
std::ostream&
cruft::vk::meta::operator<< (std::ostream &os, info const &)
{
cruft::vk::instance instance;
return os << "{ available_layers: [ "
<< cruft::iterator::make_infix (cruft::vk::instance::available_layers ())
<< " ]"
<< ", instance: " << instance
<< ", devices: [ "
<< cruft::iterator::make_infix (cruft::vk::physical_device::find (instance)) << " ]"
<< ", }";
}