void setBytePix(int value); void setAxisSize(const std::vector<int> &axis ); std::vector srcVector; srcVector.push_back(1024); srcVector.push_back(1024); setAxisSize(srcVector); setAxisSize(QVector<int>()<<1024<<1024); void setAxeSize(int number, int size); void setNumberDimension(int value); void setAxisDimensionP(int dimensionNumber, int axisSize){ setAxeSize(dimensionNumber, axisSize); } template<typename ...Arguments> void setAxisDimensionP(int dimensionNumber, int axisSize, Arguments... args){ setAxeSize(dimensionNumber, axisSize); ++dimensionNumber; setAxisDimensionP(dimensionNumber, args...); } template<typename ...Arguments> void setAxisSize(Arguments... args) { <s> setNumberDimension(sizeof...(args)/sizeof(int));</s> ( @AxisPod ) setNumberDimension(sizeof...(args)); setAxisDimensionP(0, args...); } setAxisSize(1024, 1024); template <typename T> void setBytePix(){ setBytePix(sizeof(T)*8);} template<typename T, typename ...Arguments> void setAxisSize(Arguments... args) { setBytePix<T>(); setNumberDimension(sizeof...(args)); setAxisDimensionP(0, args...); } setAxisSize<short>(1392,1032); Source: https://habr.com/ru/post/216901/
All Articles