kDB: Knowledge DataBase
Loading...
Searching...
No Matches
ExpressionType.h
1#include <kDB/SPARQL/Algebra/NodeVisitorImplementation.h>
2
3#include <knowCore/UriList.h>
4
5namespace kDB::SPARQL::Algebra::Visitors
6{
8 {
10 virtual knowCore::Uri type(const knowCore::Uri& _name, const knowCore::UriList& _list) const
11 = 0;
12 };
13#undef __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD
14#define __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(_NAME_, _I_) \
15 knowCore::Uri visit(_NAME_##CSP _node, const FunctionTypeInterface* const&) override;
16
22 const FunctionTypeInterface*>
23 {
24 public:
32 static knowCore::Uri type(NodeCSP _node, const FunctionTypeInterface* _interface);
33 private:
34 protected:
35 knowCore::Uri visitDefault(NodeCSP _node,
36 const FunctionTypeInterface* const& _interface) override;
37 KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(FunctionCall, Term, Triple, Value, VariableReference,
38 LogicalOr, LogicalAnd, RelationalEqual,
39 RelationalDifferent, RelationalInferior,
40 RelationalSuperior, RelationalInferiorEqual,
41 RelationalSuperiorEqual, Addition, Substraction,
42 Multiplication, Division, RelationalIn,
43 RelationalNotIn, LogicalNegation, Negation)
44 knowCore::Uri visitUri(const knowCore::Uri& _uri, const FunctionTypeInterface* _interface);
45 private:
46 struct Private;
47 Private* const d;
48 };
49} // namespace kDB::SPARQL::Algebra::Visitors
50
51#undef __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD
Definition NodeVisitorImplementation.h:22
static knowCore::Uri type(NodeCSP _node, const FunctionTypeInterface *_interface)
Definition ExpressionType.cpp:19
Definition UriList.h:9
Definition Uri.h:15