LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs > Class Template Reference

This helps visit SMT types. More...

#include <SMTVisitors.h>

Public Member Functions

ResultType dispatchSMTTypeVisitor (Type type, ExtraArgs... args)
ResultType visitInvalidSMTType (Type type, ExtraArgs... args)
 This callback is invoked on any non-expression types.
ResultType visitUnhandledSMTType (Type type, ExtraArgs... args)
 This callback is invoked on any SMT type that are not handled by the concrete visitor.
 HANDLE (BoolType, Unhandled)
 HANDLE (IntegerType, Unhandled)
 HANDLE (BitVectorType, Unhandled)
 HANDLE (ArrayType, Unhandled)
 HANDLE (SMTFuncType, Unhandled)
 HANDLE (SortType, Unhandled)

Detailed Description

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
class llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >

This helps visit SMT types.

Definition at line 151 of file SMTVisitors.h.

Member Function Documentation

◆ dispatchSMTTypeVisitor()

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
ResultType llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::dispatchSMTTypeVisitor ( Type type,
ExtraArgs... args )
inline

Definition at line 153 of file SMTVisitors.h.

◆ HANDLE() [1/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( ArrayType ,
Unhandled  )

◆ HANDLE() [2/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( BitVectorType ,
Unhandled  )

◆ HANDLE() [3/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( BoolType ,
Unhandled  )

◆ HANDLE() [4/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( IntegerType ,
Unhandled  )

◆ HANDLE() [5/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( SMTFuncType ,
Unhandled  )

◆ HANDLE() [6/6]

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::HANDLE ( SortType ,
Unhandled  )

◆ visitInvalidSMTType()

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
ResultType llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::visitInvalidSMTType ( Type type,
ExtraArgs... args )
inline

This callback is invoked on any non-expression types.

Definition at line 165 of file SMTVisitors.h.

◆ visitUnhandledSMTType()

template<typename ConcreteType, typename ResultType = void, typename... ExtraArgs>
ResultType llzk::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >::visitUnhandledSMTType ( Type type,
ExtraArgs... args )
inline

This callback is invoked on any SMT type that are not handled by the concrete visitor.

Definition at line 169 of file SMTVisitors.h.


The documentation for this class was generated from the following file: