Program Listing for File utils.hpp
↰ Return to documentation for file (/tmp/ws/src/depthai-ros/depthai_ros_driver/include/depthai_ros_driver/utils.hpp
)
#pragma once
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <string>
#include <unordered_map>
#include <vector>
namespace dai {
enum class CameraBoardSocket;
} // namespace dai
namespace depthai_ros_driver {
namespace utils {
template <typename T>
T getValFromMap(const std::string& name, const std::unordered_map<std::string, T>& map) {
try {
return map.at(name);
} catch(const std::out_of_range& e) {
std::stringstream stream;
stream << "Unable to find name " << name.c_str() << " in map.\n";
stream << "Map values:\n";
for(auto it = map.cbegin(); it != map.cend(); ++it) {
stream << it->first << "\n";
}
throw std::out_of_range(stream.str());
}
}
std::string getUpperCaseStr(const std::string& string);
std::string getSocketName(dai::CameraBoardSocket socket);
} // namespace utils
} // namespace depthai_ros_driver