Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #ifndef AST_OPERATION_CONDENSE_CONDENSE_HH
  2. #define AST_OPERATION_CONDENSE_CONDENSE_HH
  3.  
  4. #include "../operation.hh"
  5. #include "../iteratorvariable.hh"
  6.  
  7. #include "condenseoperator.hh"
  8.  
  9. namespace engine {
  10. namespace ast {
  11.  
  12. class Condense : public Operation {
  13. public:
  14. Condense(CondenseOperator op,
  15. const std::shared_ptr<IteratorVariable> &overOperation,
  16. const std::shared_ptr<Operation> &usingOperation,
  17. const std::shared_ptr<Operation> &whereOperation = nullptr);
  18.  
  19. virtual ~Condense() = default;
  20.  
  21. virtual VisitorResultPtr accept(ASTVisitor *visitor) override;
  22.  
  23. CondenseOperator getOp() const;
  24.  
  25. std::shared_ptr<IteratorVariable> getOverOperation() const;
  26.  
  27. std::shared_ptr<Operation> getUsingOperation() const;
  28.  
  29. std::shared_ptr<Operation> getWhereOperation() const;
  30.  
  31. private:
  32. CondenseOperator op;
  33. std::shared_ptr<IteratorVariable> overOperation;
  34. std::shared_ptr<Operation> usingOperation;
  35. std::shared_ptr<Operation> whereOperation;
  36. };
  37.  
  38. }
  39. }
  40. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement