mc2lib
Classes | Namespaces | Typedefs | Functions
compiler.hpp File Reference
#include <array>
#include <cassert>
#include <cstddef>
#include <functional>
#include <map>
#include <memory>
#include <stdexcept>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "../memconsistency/eventsets.hpp"
#include "../types.hpp"

Go to the source code of this file.

Classes

class  mc2lib::codegen::Op< Backend, EvtStateT >
 
class  mc2lib::codegen::MemOp< Backend, EvtState >
 
class  mc2lib::codegen::NullOp< Backend, EvtState >
 
class  mc2lib::codegen::Compiler< Operation, Backend >
 Top level class used to manage code generation (compiler). More...
 

Namespaces

 mc2lib
 
 mc2lib::codegen
 Code generation for memory consistency verification.
 

Typedefs

template<std::size_t max_size_bytes>
using mc2lib::codegen::EventPtrs = std::array< const mc::Event *, max_size_bytes/sizeof(types::WriteID)>
 

Functions

template<class... Ts>
auto mc2lib::codegen::MakeEventPtrs (const mc::Event *e1, Ts... en) -> EventPtrs<(1+sizeof...(Ts)) *sizeof(types::WriteID)>