Browse Source

[wip] Trade: sad initializer_list overloads

TODO: what to do?! sfinae with such types is heavy iron
sceneconverter
Vladimír Vondruš 4 years ago
parent
commit
cf61ed4ed6
  1. 48
      src/Magnum/Trade/AbstractSceneConverter.cpp
  2. 72
      src/Magnum/Trade/AbstractSceneConverter.h

48
src/Magnum/Trade/AbstractSceneConverter.cpp

@ -925,10 +925,18 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView1D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const ImageView1D> imageLevels) {
return add(imageLevels, {});
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView1D> imageLevels) {
// return add(Containers::arrayView(imageLevels), {});
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView1D> imageLevels, const Containers::StringView name) {
/** @todo ArrayTuple or StaticAllocator? */
Containers::Array<ImageData1D> data{NoInit, imageLevels.size()};
@ -942,9 +950,17 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView1D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView1D> imageLevels) {
return add(imageLevels, {});
}
/*
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView1D> imageLevels) {
return add(Containers::arrayView(imageLevels), {});
}*/
UnsignedInt AbstractSceneConverter::image2DCount() const {
CORRADE_ASSERT(_state, "Trade::AbstractSceneConverter::image2DCount(): no conversion in progress", {});
@ -1040,10 +1056,18 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView2D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const ImageView2D> imageLevels) {
return add(imageLevels, {});
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView2D> imageLevels) {
// return add(Containers::arrayView(imageLevels), {});
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView2D> imageLevels, const Containers::StringView name) {
/** @todo ArrayTuple or StaticAllocator? */
Containers::Array<ImageData2D> data{NoInit, imageLevels.size()};
@ -1057,10 +1081,18 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView2D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView2D> imageLevels) {
return add(imageLevels, {});
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView2D> imageLevels) {
// return add(Containers::arrayView(imageLevels), {});
// }
UnsignedInt AbstractSceneConverter::image3DCount() const {
CORRADE_ASSERT(_state, "Trade::AbstractSceneConverter::image3DCount(): no conversion in progress", {});
return _state->image3DCount;
@ -1155,10 +1187,18 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView3D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const ImageView3D> imageLevels) {
return add(imageLevels, {});
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<ImageView3D> imageLevels) {
// return add(Containers::arrayView(imageLevels), {});
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView3D> imageLevels, const Containers::StringView name) {
/** @todo ArrayTuple or StaticAllocator? */
Containers::Array<ImageData3D> data{NoInit, imageLevels.size()};
@ -1172,10 +1212,18 @@ Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::
return add(references, name);
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView3D> imageLevels, const Containers::StringView name) {
// return add(Containers::arrayView(imageLevels), name);
// }
Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const Containers::ArrayView<const CompressedImageView3D> imageLevels) {
return add(imageLevels, {});
}
// Containers::Optional<UnsignedInt> AbstractSceneConverter::add(const std::initializer_list<CompressedImageView3D> imageLevels) {
// return add(Containers::arrayView(imageLevels), {});
// }
Debug& operator<<(Debug& debug, const SceneConverterFeature value) {
debug << "Trade::SceneConverterFeature" << Debug::nospace;

72
src/Magnum/Trade/AbstractSceneConverter.h

@ -1345,6 +1345,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const ImageView1D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView1D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView1D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView1D> imageLevels);
// #endif
/**
* @overload
* @m_since_latest
@ -1356,6 +1368,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const CompressedImageView1D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView1D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView1D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView1D> imageLevels);
// #endif
/**
* @brief Count of added 2D images
* @m_since_latest
@ -1473,6 +1497,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const ImageView2D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView2D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView2D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView2D> imageLevels);
// #endif
/**
* @overload
* @m_since_latest
@ -1484,6 +1520,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const CompressedImageView2D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView2D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView2D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView2D> imageLevels);
// #endif
/**
* @brief Count of added 3D images
* @m_since_latest
@ -1601,6 +1649,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const ImageView3D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView3D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView3D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<ImageView3D> imageLevels);
// #endif
/**
* @overload
* @m_since_latest
@ -1612,6 +1672,18 @@ class MAGNUM_TRADE_EXPORT AbstractSceneConverter: public PluginManager::Abstract
Containers::Optional<UnsignedInt> add(Containers::ArrayView<const CompressedImageView3D> imageLevels);
#endif
// TODO makes passing {ImageData} ambiguous, what to do?!
// /**
// * @overload
// * @m_since_latest
// */
// #ifdef DOXYGEN_GENERATING_OUTPUT
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView3D> imageLevels, Containers::StringView name = {});
// #else
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView3D> imageLevels, Containers::StringView name);
// Containers::Optional<UnsignedInt> add(std::initializer_list<CompressedImageView3D> imageLevels);
// #endif
protected:
/**
* @brief Implementation for @ref convertToFile(const MeshData&, Containers::StringView)

Loading…
Cancel
Save