stencet  v0.1.16
Build C++ web server modules that allow easy routing and deployment.
filter.h
1 /* Copyright (C) 2012-2013 Justin Berger
2  The full license is available in the LICENSE file at the root of this project and is also available at http://opensource.org/licenses/MIT. */
3 
4 #pragma once
5 #include <vector>
6 #include <iostream>
7 #include <stencet/factory.h>
8 #include <stencet/viewContext.h>
9 
10 namespace stencet {
11  struct Expr;
12  struct Filter {
13  using Arg = Expr*;
14  virtual const ViewModel* Eval(const ViewModel* target, ViewContext& ctx) = 0;
15  virtual ~Filter();
16  virtual void write(std::ostream& stream) const;
17  };
18  std::ostream& operator <<(std::ostream&, const Filter&);
20 }