2727#include < map>
2828#include < QRect>
2929#include " Qt/qt_strings_helper.h"
30- #include < unordered_map >
30+ #include < QHash >
3131
3232using namespace std ::chrono;
3333
@@ -49,7 +49,7 @@ struct EnumHash
4949 size_t operator ()(T t) const { return static_cast <size_t >(t); }
5050};
5151
52- static std::unordered_map <dc1394color_coding_t , const char *, EnumHash > COLOR_CODING_NAME
52+ static QHash <dc1394color_coding_t , const char *> COLOR_CODING_NAME
5353{
5454 { DC1394_COLOR_CODING_MONO8, " Mono 8-bit" },
5555 { DC1394_COLOR_CODING_YUV411, " YUV411" },
@@ -74,11 +74,11 @@ DPTR_IMPL(IIDCImager)
7474 dc1394video_modes_t videoModes;
7575 dc1394video_mode_t currentVidMode;
7676 dc1394color_coding_t currentPixFmt;
77- std::unordered_map <dc1394video_mode_t , dc1394framerates_t , EnumHash > frameRates; // /< Key: non-scalable video mode from 'videoModes'
78- std::unordered_map <dc1394video_mode_t , dc1394format7mode_t , EnumHash > fmt7Info; // /< Key: scalable video mode form 'videoModes'
77+ QHash <dc1394video_mode_t , dc1394framerates_t > frameRates; // /< Key: non-scalable video mode from 'videoModes'
78+ QHash <dc1394video_mode_t , dc1394format7mode_t > fmt7Info; // /< Key: scalable video mode form 'videoModes'
7979
8080 dc1394featureset_t features;
81- std::unordered_map <dc1394feature_t , bool , EnumHash > hasAbsoluteControl;
81+ QHash <dc1394feature_t , bool > hasAbsoluteControl;
8282
8383 Properties properties;
8484
@@ -190,7 +190,7 @@ Imager::Control IIDCImager::Private::getFrameRates(dc1394video_mode_t vidMode)
190190 const auto frloc = frameRates.find (vidMode);
191191 assert (frloc != frameRates.end ());
192192
193- const dc1394framerates_t &fr = frloc-> second ;
193+ const dc1394framerates_t &fr = frloc. value () ;
194194
195195 auto frameRatesCtrl = Imager::Control{ ControlID::FrameRate, " Fixed Frame Rate" , Control::Combo };
196196
@@ -232,14 +232,14 @@ IIDCImager::IIDCImager(std::unique_ptr<dc1394camera_t, Deleters::camera> camera,
232232
233233 if (!dc1394_is_video_mode_scalable (vidMode))
234234 {
235- auto modeFrameRates = d->frameRates .emplace (vidMode, dc1394framerates_t { });
236- IIDC_CHECK << dc1394_video_get_supported_framerates (d->camera .get (), vidMode, &modeFrameRates.first -> second )
235+ auto modeFrameRates = d->frameRates .insert (vidMode, dc1394framerates_t { });
236+ IIDC_CHECK << dc1394_video_get_supported_framerates (d->camera .get (), vidMode, &modeFrameRates.value () )
237237 << " Get supported frame rates" ;
238238 }
239239 else
240240 {
241- auto fmt7loc = d->fmt7Info .emplace (vidMode, dc1394format7mode_t { });
242- dc1394format7mode_t &fmt7 = fmt7loc.first -> second ;
241+ auto fmt7loc = d->fmt7Info .insert (vidMode, dc1394format7mode_t { });
242+ dc1394format7mode_t &fmt7 = fmt7loc.value () ;
243243 fmt7.present = DC1394_TRUE;
244244
245245 IIDC_CHECK << dc1394_format7_get_mode_info (d->camera .get (), vidMode, &fmt7)
@@ -311,14 +311,14 @@ Imager::Properties IIDCImager::properties() const
311311
312312 const auto maxImageWidth = std::max_element (d->fmt7Info .begin (), d->fmt7Info .end (),
313313 [](const auto &i1, const auto &i2)
314- { return i1.second . max_size_x < i2. second .max_size_x ; });
314+ { return i1.max_size_x < i2.max_size_x ; });
315315
316316 const auto maxImageHeight = std::max_element (d->fmt7Info .begin (), d->fmt7Info .end (),
317317 [](const auto &i1, const auto &i2)
318- { return i1.second . max_size_y < i2. second .max_size_y ; });
318+ { return i1.max_size_y < i2.max_size_y ; });
319319
320- properties.set_resolution ({ (int )maxImageWidth-> second .max_size_x ,
321- (int )maxImageHeight-> second .max_size_y });
320+ properties.set_resolution ({ (int )maxImageWidth. value () .max_size_x ,
321+ (int )maxImageHeight. value () .max_size_y });
322322
323323
324324 return properties;
0 commit comments