diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 0000000..bc7638c --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,20 @@ +;;; Directory Local Variables +;;; For more information see (info "(emacs) Directory Variables") + +((c++-mode . ((outline-regexp . "// \\[\\[file:") + (eval . (let + ((root + (expand-file-name + (project-root + (project-current))))) + (setq-local flycheck-gcc-include-path + (list + (format "%s/vendor/include/" root) + (format "%s/include/" root) + (format "%s/" root) + (format "%s/bench/" root) + (format "%s/build/main/" root))))) + (eval . (flycheck-mode)) + (eval . (outline-minor-mode)) + (indent-tabs-mode . nil) + (tab-width . 2)))) diff --git a/.gitignore b/.gitignore index 6a30f25..b4491df 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ config.mk /atrip.html /TAGS /config.h.in +/result +/result-dev +/vendor/ diff --git a/bench/utils.hpp b/bench/utils.hpp new file mode 100644 index 0000000..0bed177 --- /dev/null +++ b/bench/utils.hpp @@ -0,0 +1,12 @@ +#ifndef UTILS_HPP_ +#define UTILS_HPP_ + +#define _FORMAT(_fmt, ...) \ + ([&] (void) -> std::string { \ + int _sz = std::snprintf(nullptr, 0, _fmt, __VA_ARGS__); \ + std::vector _out(_sz + 1); \ + std::snprintf(&_out[0], _out.size(), _fmt, __VA_ARGS__); \ + return std::string(_out.data()); \ + })() + +#endif