Browse Source

Don't use constexpr in AbstractImage subclasses.

AbstractImage has virtual destructor, thus it is not possible to
instantiate it in constant expression.
pull/7/head
Vladimír Vondruš 14 years ago
parent
commit
dbe4c22645
  1. 2
      src/BufferedImage.h
  2. 4
      src/Image.h
  3. 4
      src/ImageWrapper.h
  4. 4
      src/Trade/ImageData.h

2
src/BufferedImage.h

@ -53,7 +53,7 @@ template<std::uint8_t dimensions> class BufferedImage: public AbstractImage {
}
/** @brief %Image size */
inline constexpr typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
inline typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
/**
* @brief Data

4
src/Image.h

@ -76,11 +76,11 @@ template<std::uint8_t dimensions> class Image: public AbstractImage {
inline ~Image() { delete[] _data; }
/** @brief %Image size */
inline constexpr typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
inline typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
/** @brief Pointer to raw data */
inline void* data() { return _data; }
inline constexpr const void* data() const { return _data; } /**< @overload */
inline const void* data() const { return _data; } /**< @overload */
/**
* @brief Set image data

4
src/ImageWrapper.h

@ -80,11 +80,11 @@ template<std::uint8_t dimensions> class ImageWrapper: public AbstractImage {
inline ImageWrapper(const typename DimensionTraits<Dimensions, GLsizei>::VectorType& size, Components components, ComponentType type): AbstractImage(components, type), _size(size), _data(nullptr) {}
/** @brief %Image size */
inline constexpr typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
inline typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
/** @brief Pointer to raw data */
inline void* data() { return _data; }
inline constexpr const void* data() const { return _data; } /**< @overload */
inline const void* data() const { return _data; } /**< @overload */
/**
* @brief Set image data

4
src/Trade/ImageData.h

@ -69,11 +69,11 @@ template<std::uint8_t dimensions> class ImageData: public AbstractImage {
inline std::string name() const { return _name; }
/** @brief %Image size */
inline constexpr typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
inline typename DimensionTraits<Dimensions, GLsizei>::VectorType size() const { return _size; }
/** @brief Pointer to raw data */
inline void* data() { return _data; }
inline constexpr const void* data() const { return _data; } /**< @overload */
inline const void* data() const { return _data; } /**< @overload */
private:
std::string _name;

Loading…
Cancel
Save