Beispiel #1
0
CameraPtr cameraFindOrInsert(std::string key, std::function <CameraPtr()> createFunc)
{
  camsMutex.lock();
  CameraPtr cam;
  auto camIt = cams.find(key);
  if (camIt != cams.end()) {
    cam = camIt->second;
  } else {
    cam = createFunc();
    cams.insert({key, cam});
  }
  camsMutex.unlock();
  return cam;
}