diff --git a/include/libcamera/internal/yaml_parser.h b/include/libcamera/internal/yaml_parser.h index 06a41146..e38a2df9 100644 --- a/include/libcamera/internal/yaml_parser.h +++ b/include/libcamera/internal/yaml_parser.h @@ -177,6 +177,7 @@ public: template || + std::is_same_v || std::is_same_v || std::is_same_v || std::is_same_v || diff --git a/src/libcamera/yaml_parser.cpp b/src/libcamera/yaml_parser.cpp index 56670ba7..025006bc 100644 --- a/src/libcamera/yaml_parser.cpp +++ b/src/libcamera/yaml_parser.cpp @@ -278,6 +278,13 @@ YamlObject::Getter::get(const YamlObject &obj) const return value; } +template<> +std::optional +YamlObject::Getter::get(const YamlObject &obj) const +{ + return obj.get(); +} + template<> std::optional YamlObject::Getter::get(const YamlObject &obj) const @@ -349,6 +356,7 @@ YamlObject::Getter::get(const YamlObject &obj) const template || + std::is_same_v || std::is_same_v || std::is_same_v || std::is_same_v || @@ -377,6 +385,7 @@ std::optional> YamlObject::getList() const } template std::optional> YamlObject::getList() const; +template std::optional> YamlObject::getList() const; template std::optional> YamlObject::getList() const; template std::optional> YamlObject::getList() const; template std::optional> YamlObject::getList() const;