mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Remove const from as_if::operator()() return (#425)
Returning a const value prevents the use of non-copyable return types such as unique_ptr.
This commit is contained in:

committed by
Jesse Beder

parent
96598c5c25
commit
994cf97b59
@@ -103,7 +103,7 @@ struct as_if<std::string, S> {
|
|||||||
explicit as_if(const Node& node_) : node(node_) {}
|
explicit as_if(const Node& node_) : node(node_) {}
|
||||||
const Node& node;
|
const Node& node;
|
||||||
|
|
||||||
const std::string operator()(const S& fallback) const {
|
std::string operator()(const S& fallback) const {
|
||||||
if (node.Type() != NodeType::Scalar)
|
if (node.Type() != NodeType::Scalar)
|
||||||
return fallback;
|
return fallback;
|
||||||
return node.Scalar();
|
return node.Scalar();
|
||||||
@@ -115,7 +115,7 @@ struct as_if<T, void> {
|
|||||||
explicit as_if(const Node& node_) : node(node_) {}
|
explicit as_if(const Node& node_) : node(node_) {}
|
||||||
const Node& node;
|
const Node& node;
|
||||||
|
|
||||||
const T operator()() const {
|
T operator()() const {
|
||||||
if (!node.m_pNode)
|
if (!node.m_pNode)
|
||||||
throw TypedBadConversion<T>(node.Mark());
|
throw TypedBadConversion<T>(node.Mark());
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@ struct as_if<std::string, void> {
|
|||||||
explicit as_if(const Node& node_) : node(node_) {}
|
explicit as_if(const Node& node_) : node(node_) {}
|
||||||
const Node& node;
|
const Node& node;
|
||||||
|
|
||||||
const std::string operator()() const {
|
std::string operator()() const {
|
||||||
if (node.Type() != NodeType::Scalar)
|
if (node.Type() != NodeType::Scalar)
|
||||||
throw TypedBadConversion<std::string>(node.Mark());
|
throw TypedBadConversion<std::string>(node.Mark());
|
||||||
return node.Scalar();
|
return node.Scalar();
|
||||||
|
Reference in New Issue
Block a user