5 #ifndef JODA_AS_STATE_H
6 #define JODA_AS_STATE_H
8 #include <glog/logging.h>
18 template <
typename Input>
23 template <
typename Input>
26 projs.front()->toString() ==
"*")
28 for (
auto &proj :
projs) {
29 qs.
q->addProjection(std::move(proj));
32 qs.
q->addProjection(std::move(proj));
36 inline bool putValProv(std::unique_ptr<joda::query::IValueProvider> &&val) {
37 assert(val !=
nullptr &&
"Should not pass nullptr");
38 if (val ==
nullptr)
return false;
43 DCHECK(
false) <<
"Should not be full";
49 std::unique_ptr<joda::query::IValueProvider>
valprov;
50 std::vector<std::unique_ptr<joda::query::IProjector>>
projs;
51 std::vector<std::unique_ptr<joda::query::ISetProjector>>
setprojs;
projFun
Definition: As_State.h:15
@ NOPROJ
Definition: As_State.h:15
@ allCopyProj
Definition: As_State.h:15
@ arrFlatProj
Definition: As_State.h:15
@ valProvProj
Definition: As_State.h:15
Definition: As_State.h:17
std::vector< std::unique_ptr< joda::query::ISetProjector > > setprojs
Definition: As_State.h:51
void success(const Input &in, queryState &qs)
Definition: As_State.h:24
bool putValProv(std::unique_ptr< joda::query::IValueProvider > &&val)
Definition: As_State.h:36
asState(const Input &in, queryState &qs)
Definition: As_State.h:19
projFun fun
Definition: As_State.h:48
std::string toPointer
Definition: As_State.h:47
std::unique_ptr< joda::query::IValueProvider > valprov
Definition: As_State.h:49
std::vector< std::unique_ptr< joda::query::IProjector > > projs
Definition: As_State.h:50
Definition: Query_State.h:21
std::shared_ptr< joda::query::Query > q
Definition: Query_State.h:33