You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
671 B

  1. #pragma once
  2. #include <iostream>
  3. #include <string>
  4. #include <sstream>
  5. namespace db {
  6. namespace statements {
  7. namespace builder {
  8. class StatementBuilder;
  9. class InsertStatementBuilder;
  10. class SelectStatementBuilder;
  11. class Statement {
  12. public:
  13. Statement() = default;
  14. friend class InsertStatementBuilder;
  15. friend class SelectStatementBuilder;
  16. friend std::ostream &operator<<(std::ostream &os, const Statement &s);
  17. static InsertStatementBuilder insert();
  18. static SelectStatementBuilder select();
  19. std::string str() const;
  20. private:
  21. std::string body;
  22. };
  23. }
  24. }
  25. }