m8

A general-purpose preprocessor for metaprogramming.


m8

/

src

/

m8

/

macros_custom.cc

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
#include "m8/macros_custom.hh"

#include "m8/m8.hh"

#include <string>
#include <sstream>
#include <iostream>

#include <filesystem>
namespace fs = std::filesystem;

namespace Macros
{

void macros_custom(M8& m8)
{
  // define macros

  // single regex and func
  // M8::set_macro(name, info, usage, regex, func)

  // m8.set_macro("",
  //   "",
  //   "",
  //   "^(.*)$",
  //   [&](auto& ctx) {
  //   return 0;
  //   }
  // );

  // overloaded regex and func
  // M8::set_macro(name, info, usage, {{regex, func}, {regex, func}})

  // m8.set_macro("",
  //   "",
  //   "",
  //   {
  //     {"",
  //       [&](auto& ctx) {
  //       return 0;
  //       }
  //     },
  //     {"^(.+)$",
  //       [&](auto& ctx) {
  //       return 0;
  //       }
  //     },
  //   }
  // );
}

} // namespace Macros
Back to Top