use reference to work around MSVC bug
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
640b0fbf5d
commit
84f566b4b7
@ -78,9 +78,9 @@ TiffIfdMakernote::TiffIfdMakernote(uint16_t tag, IfdId group, IfdId mnGroup, MnH
|
||||
TiffComponent(tag, group), pHeader_(pHeader), ifd_(tag, mnGroup, hasNext) {
|
||||
}
|
||||
|
||||
TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg* arrayCfg, const ArrayDef* arrayDef,
|
||||
TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg& arrayCfg, const ArrayDef* arrayDef,
|
||||
int defSize) :
|
||||
TiffEntryBase(tag, group, arrayCfg->elTiffType_), arrayCfg_(arrayCfg), arrayDef_(arrayDef), defSize_(defSize) {
|
||||
TiffEntryBase(tag, group, arrayCfg.elTiffType_), arrayCfg_(&arrayCfg), arrayDef_(arrayDef), defSize_(defSize) {
|
||||
}
|
||||
|
||||
TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arraySet, int setSize,
|
||||
|
||||
@ -1292,7 +1292,7 @@ class TiffBinaryArray : public TiffEntryBase {
|
||||
//! @name Creators
|
||||
//@{
|
||||
//! Constructor
|
||||
TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg* arrayCfg, const ArrayDef* arrayDef, int defSize);
|
||||
TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg& arrayCfg, const ArrayDef* arrayDef, int defSize);
|
||||
//! Constructor for a complex binary array
|
||||
TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arraySet, int setSize, CfgSelFct cfgSelFct);
|
||||
//! Virtual destructor
|
||||
@ -1534,15 +1534,15 @@ TiffComponent::UniquePtr newTiffSubIfd(uint16_t tag, IfdId group) {
|
||||
}
|
||||
|
||||
//! Function to create and initialize a new binary array entry
|
||||
template <const ArrayCfg* arrayCfg, int N, const ArrayDef arrayDef[N]>
|
||||
template <const ArrayCfg& arrayCfg, int N, const ArrayDef arrayDef[N]>
|
||||
TiffComponent::UniquePtr newTiffBinaryArray0(uint16_t tag, IfdId group) {
|
||||
return std::make_unique<TiffBinaryArray>(tag, group, &(*arrayCfg), &(*arrayDef), N);
|
||||
return std::make_unique<TiffBinaryArray>(tag, group, arrayCfg, &(*arrayDef), N);
|
||||
}
|
||||
|
||||
//! Function to create and initialize a new simple binary array entry
|
||||
template <const ArrayCfg* arrayCfg>
|
||||
template <const ArrayCfg& arrayCfg>
|
||||
TiffComponent::UniquePtr newTiffBinaryArray1(uint16_t tag, IfdId group) {
|
||||
return std::make_unique<TiffBinaryArray>(tag, group, &(*arrayCfg), nullptr, 0);
|
||||
return std::make_unique<TiffBinaryArray>(tag, group, arrayCfg, nullptr, 0);
|
||||
}
|
||||
|
||||
//! Function to create and initialize a new complex binary array entry
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
#include <iostream>
|
||||
|
||||
// Shortcuts for the newTiffBinaryArray templates.
|
||||
#define EXV_BINARY_ARRAY(arrayCfg, arrayDef) (newTiffBinaryArray0<&(arrayCfg), std::size(arrayDef), arrayDef>)
|
||||
#define EXV_SIMPLE_BINARY_ARRAY(arrayCfg) (newTiffBinaryArray1<&(arrayCfg)>)
|
||||
#define EXV_BINARY_ARRAY(arrayCfg, arrayDef) (newTiffBinaryArray0<arrayCfg, std::size(arrayDef), arrayDef>)
|
||||
#define EXV_SIMPLE_BINARY_ARRAY(arrayCfg) (newTiffBinaryArray1<arrayCfg>)
|
||||
#define EXV_COMPLEX_BINARY_ARRAY(arraySet, cfgSelFct) (newTiffBinaryArray2<arraySet, std::size(arraySet), cfgSelFct>)
|
||||
|
||||
namespace Exiv2::Internal {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user