#ifndef SASS_OUTPUT_H
#define SASS_OUTPUT_H
#include <string>
#include <vector>
#include "util.hpp"
#include "inspect.hpp"
#include "operation.hpp"
namespace Sass {
class Context;
class Output : public Inspect {
protected:
using Inspect::operator();
public:
Output(Sass_Output_Options& opt);
virtual ~Output();
protected:
sass::string charset;
sass::vector<AST_Node*> top_nodes;
public:
OutputBuffer get_buffer(void);
virtual void operator()(Map*);
virtual void operator()(StyleRule*);
virtual void operator()(SupportsRule*);
virtual void operator()(CssMediaRule*);
virtual void operator()(AtRule*);
virtual void operator()(Keyframe_Rule*);
virtual void operator()(Import*);
virtual void operator()(Comment*);
virtual void operator()(Number*);
virtual void operator()(String_Quoted*);
virtual void operator()(String_Constant*);
void fallback_impl(AST_Node* n);
};
}
#endif