MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <mim/axm.h>
#include <mim/plugin.h>
Include dependency graph for autogen.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  mim::plug::vec
 The vec Plugin
 
namespace  mim
 
namespace  mim::plug
 

Macros

#define MIM_vec_NORMALIZER_IMPL
 

Functions

void mim::plug::vec::register_normalizers (Normalizers &normalizers)
 

Variables

static constexpr plugin_t mim::plug::vec::Plugin_Id = 0x5c61000000000000
 

%vec.fold

enum class  mim::plug::vec::fold : flags_t {
  mim::plug::vec::l = 0x5c61000000000000 ,
  mim::plug::vec::r = 0x5c61000000000001
}
 
template<fold id>
const Defmim::plug::vec::normalize_fold (const Def *, const Def *c, const Def *arg)
 

%vec.scan

enum class  mim::plug::vec::scan : flags_t {
  mim::plug::vec::for_all = 0x5c61000000000100 ,
  mim::plug::vec::exists = 0x5c61000000000101
}
 
template<scan id>
const Defmim::plug::vec::normalize_scan (const Def *, const Def *c, const Def *vec)
 

%vec.is_unique

enum class  mim::plug::vec::is_unique : flags_t
 
const Defmim::plug::vec::normalize_is_unique (const Def *, const Def *, const Def *vec)
 

%vec.diff

enum class  mim::plug::vec::diff : flags_t
 
const Defmim::plug::vec::normalize_diff (const Def *type, const Def *c, const Def *arg)
 

Macro Definition Documentation

◆ MIM_vec_NORMALIZER_IMPL

#define MIM_vec_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(fold::l)] = &normalize_fold<fold::l>; \
normalizers[flags_t(fold::r)] = &normalize_fold<fold::r>; \
normalizers[flags_t(scan::for_all)] = &normalize_scan<scan::for_all>; \
normalizers[flags_t(scan::exists)] = &normalize_scan<scan::exists>; \
normalizers[flags_t(Annex::Base<is_unique>)] = &normalize_is_unique; \
normalizers[flags_t(Annex::Base<diff>)] = &normalize_diff; \
}

Definition at line 54 of file autogen.h.