Skip to content

Commit b6af703

Browse files
committed
Doc update
1 parent 84f227c commit b6af703

File tree

2 files changed

+82
-84
lines changed

2 files changed

+82
-84
lines changed

doc/ref/jsonpath/jsonpath.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ public:
321321
}
322322
return Json(arg0.as<double>() / arg1.as<double>());
323323
}
324-
);
324+
);
325325
}
326326
};
327327

include/jsoncons_ext/jmespath/jmespath.hpp

Lines changed: 81 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,87 @@
2323
namespace jsoncons {
2424
namespace jmespath {
2525

26+
enum class parameter_kind{value, expression};
27+
28+
class parameter
29+
{
30+
parameter_kind type_;
31+
32+
union
33+
{
34+
expression_base* expression_;
35+
pointer value_;
36+
};
37+
38+
public:
39+
40+
parameter(const parameter& other) noexcept
41+
: type_(other.type_)
42+
{
43+
switch (type_)
44+
{
45+
case parameter_kind::expression:
46+
expression_ = other.expression_;
47+
break;
48+
case parameter_kind::value:
49+
value_ = other.value_;
50+
break;
51+
default:
52+
break;
53+
}
54+
}
55+
56+
parameter(reference value) noexcept
57+
: type_(parameter_kind::value), value_(std::addressof(value))
58+
{
59+
}
60+
61+
parameter(expression_base* expression) noexcept
62+
: type_(parameter_kind::expression), expression_(expression)
63+
{
64+
}
65+
66+
parameter& operator=(const parameter& other)
67+
{
68+
if (&other != this)
69+
{
70+
type_ = other.type_;
71+
switch (type_)
72+
{
73+
case parameter_kind::expression:
74+
expression_ = other.expression_;
75+
break;
76+
case parameter_kind::value:
77+
value_ = other.value_;
78+
break;
79+
default:
80+
break;
81+
}
82+
}
83+
return *this;
84+
}
85+
86+
bool is_value() const
87+
{
88+
return type_ == parameter_kind::value;
89+
}
90+
91+
bool is_expression() const
92+
{
93+
return type_ == parameter_kind::expression;
94+
}
95+
96+
const Json& value() const
97+
{
98+
return *value_;
99+
}
100+
101+
const expression_base& expression() const
102+
{
103+
return *expression_;
104+
}
105+
};
106+
26107
enum class operator_kind
27108
{
28109
default_op, // Identifier, CurrentNode, Index, MultiSelectList, MultiSelectHash, FunctionExpression
@@ -602,89 +683,6 @@ namespace jmespath {
602683
}
603684
};
604685

605-
// parameter
606-
607-
enum class parameter_kind{value, expression};
608-
609-
class parameter
610-
{
611-
parameter_kind type_;
612-
613-
union
614-
{
615-
expression_base* expression_;
616-
pointer value_;
617-
};
618-
619-
public:
620-
621-
parameter(const parameter& other) noexcept
622-
: type_(other.type_)
623-
{
624-
switch (type_)
625-
{
626-
case parameter_kind::expression:
627-
expression_ = other.expression_;
628-
break;
629-
case parameter_kind::value:
630-
value_ = other.value_;
631-
break;
632-
default:
633-
break;
634-
}
635-
}
636-
637-
parameter(reference value) noexcept
638-
: type_(parameter_kind::value), value_(std::addressof(value))
639-
{
640-
}
641-
642-
parameter(expression_base* expression) noexcept
643-
: type_(parameter_kind::expression), expression_(expression)
644-
{
645-
}
646-
647-
parameter& operator=(const parameter& other)
648-
{
649-
if (&other != this)
650-
{
651-
type_ = other.type_;
652-
switch (type_)
653-
{
654-
case parameter_kind::expression:
655-
expression_ = other.expression_;
656-
break;
657-
case parameter_kind::value:
658-
value_ = other.value_;
659-
break;
660-
default:
661-
break;
662-
}
663-
}
664-
return *this;
665-
}
666-
667-
bool is_value() const
668-
{
669-
return type_ == parameter_kind::value;
670-
}
671-
672-
bool is_expression() const
673-
{
674-
return type_ == parameter_kind::expression;
675-
}
676-
677-
const Json& value() const
678-
{
679-
return *value_;
680-
}
681-
682-
const expression_base& expression() const
683-
{
684-
return *expression_;
685-
}
686-
};
687-
688686
// function_base
689687
class function_base
690688
{

0 commit comments

Comments
 (0)