3#ifndef BOAT_GDAL_DRIVERS_HPP
4#define BOAT_GDAL_DRIVERS_HPP
6#if __has_include(<gdal.h>)
7#include <boat/gdal/detail/utility.hpp>
29#if __has_include(<gdal.h>)
31 for (
int i{}, n = GDALGetDriverCount(); i < n; ++i) {
32 auto drv = GDALGetDriver(i);
33 if (!GDALGetMetadataItem(
39 if (!GDALGetMetadataItem(
44 auto short_name = GDALGetDriverShortName(drv);
45 if (!short_name || !*short_name)
47 auto long_name = GDALGetDriverLongName(drv);
48 if (!long_name || !*long_name)
50 auto extensions = GDALGetMetadataItem(drv, GDAL_DMD_EXTENSIONS, 0);
51 if (!extensions || !*extensions)
53 co_yield {short_name, long_name, extensions};
Definition catalog.hpp:12
driver_type
Definition drivers.hpp:21
@ Vector
Definition drivers.hpp:21
@ Raster
Definition drivers.hpp:21
std::generator< driver > drivers(driver_type type, driver_op op)
Skips drivers without filename extensions.
Definition drivers.hpp:25
driver_op
Definition drivers.hpp:22
@ Create
Definition drivers.hpp:22
@ Open
Definition drivers.hpp:22
Definition drivers.hpp:15
std::string long_name
Definition drivers.hpp:17
std::string extensions
Space-separated filename extensions.
Definition drivers.hpp:18
std::string short_name
Definition drivers.hpp:16