libqasm
library for handling cQASM files
Classes | Namespaces | Typedefs | Functions
cqasm-v1-resolver.hpp File Reference

Contains MappingTable, FunctionTable, and ErrorModelTable, representing the various cQASM namespaces and their members in scope at some instant. More...

Go to the source code of this file.

Classes

class  cqasm::v1::resolver::MappingTable
 Table of all mappings within a certain scope. More...
 
class  cqasm::v1::resolver::OverloadedNameResolver< T >
 Table of overloaded callables with case-insensitive identifier matching. More...
 
class  cqasm::v1::resolver::FunctionTable
 Table of all overloads of all constant propagation functions. More...
 
class  cqasm::v1::resolver::ErrorModelTable
 Table of the supported instructions and their overloads. More...
 
class  cqasm::v1::resolver::InstructionTable
 Table of the supported instructions and their overloads. More...
 

Namespaces

 cqasm
 Toplevel namespace with entry points for the new API.
 
 cqasm::v1
 Namespace for the "new" cQASM 1.x API.
 
 cqasm::v1::resolver
 Namespace for everything to do with name and overload resolution in cQASM.
 

Typedefs

using cqasm::v1::resolver::FunctionImpl = std::function< values::Value(const values::Values &)>
 C++ function representing (one of the overloads of) a function usable in cQASM constant expressions. More...
 

Functions

 cqasm::v1::resolver::CQASM_ANALYSIS_ERROR (NameResolutionFailure)
 Exception for failed name resolutions. More...
 
 cqasm::v1::resolver::CQASM_ANALYSIS_ERROR (OverloadResolutionFailure)
 Exception for failed overload resolutions. More...
 

Detailed Description

Contains MappingTable, FunctionTable, and ErrorModelTable, representing the various cQASM namespaces and their members in scope at some instant.

Definition in file cqasm-v1-resolver.hpp.

#include <functional>
#include <algorithm>
#include "cqasm-v1-error-model.hpp"
#include "cqasm-v1-instruction.hpp"
#include "cqasm-v1-semantic.hpp"
#include "cqasm-error.hpp"
Include dependency graph for cqasm-v1-resolver.hpp:
This graph shows which files directly or indirectly include this file: