libqasm
library for handling cQASM files
Classes | Typedefs | Functions
cqasm::v1::resolver Namespace Reference

Detailed Description

Namespace for everything to do with name and overload resolution in cQASM.

Classes

class  ErrorModelTable
 Table of the supported instructions and their overloads. More...
 
class  FunctionTable
 Table of all overloads of all constant propagation functions. More...
 
class  InstructionTable
 Table of the supported instructions and their overloads. More...
 
class  MappingTable
 Table of all mappings within a certain scope. More...
 
class  Overload
 Represents a possible overload for the parameter types of a function, gate, or error model. More...
 
class  OverloadedNameResolver
 Table of overloaded callables with case-insensitive identifier matching. More...
 
class  OverloadResolver
 Represents a set of possible overloads for the parameter types of a function, gate, or error model. More...
 

Typedefs

using Type = types::Type
 
using Types = types::Types
 
using Value = values::Value
 
using Values = values::Values
 
using 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_ANALYSIS_ERROR (NameResolutionFailure)
 Exception for failed name resolutions. More...
 
 CQASM_ANALYSIS_ERROR (OverloadResolutionFailure)
 Exception for failed overload resolutions. More...
 

Typedef Documentation

◆ Type

Definition at line 14 of file cqasm-v1-resolver.cpp.

◆ Types

Definition at line 15 of file cqasm-v1-resolver.cpp.

◆ Value

Definition at line 16 of file cqasm-v1-resolver.cpp.

◆ Values

Definition at line 17 of file cqasm-v1-resolver.cpp.

◆ FunctionImpl

using cqasm::v1::resolver::FunctionImpl = typedef std::function<values::Value(const values::Values&)>

C++ function representing (one of the overloads of) a function usable in cQASM constant expressions.

Definition at line 74 of file cqasm-v1-resolver.hpp.

Function Documentation

◆ CQASM_ANALYSIS_ERROR() [1/2]

cqasm::v1::resolver::CQASM_ANALYSIS_ERROR ( NameResolutionFailure  )

Exception for failed name resolutions.

◆ CQASM_ANALYSIS_ERROR() [2/2]

cqasm::v1::resolver::CQASM_ANALYSIS_ERROR ( OverloadResolutionFailure  )

Exception for failed overload resolutions.