The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#define SASS_ERROR_HANDLING
#include <string>

namespace Sass {
	using namespace std;

  struct Backtrace;

  struct Error {
    enum Type { read, write, syntax, evaluation };

    Type type;
    string path;
    size_t line;
    string message;

    Error(Type type, string path, size_t line, string message);

  };

  void error(string msg, string path, size_t line);
  void error(string msg, string path, size_t line, Backtrace* bt);

}