CIRCT  20.0.0git
Public Member Functions | List of all members
circt::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. More...
 
ResultType visitUnhandledSMTType (Type type, ExtraArgs... args)
 This callback is invoked on any SMT type that are not handled by the concrete visitor. More...
 
 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 circt::smt::SMTTypeVisitor< ConcreteType, ResultType, ExtraArgs >

This helps visit SMT types.

Definition at line 156 of file SMTVisitors.h.

Member Function Documentation

◆ dispatchSMTTypeVisitor()

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

Definition at line 158 of file SMTVisitors.h.

◆ HANDLE() [1/6]

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

◆ HANDLE() [2/6]

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

◆ HANDLE() [3/6]

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

◆ HANDLE() [4/6]

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

◆ HANDLE() [5/6]

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

◆ HANDLE() [6/6]

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

◆ visitInvalidSMTType()

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

This callback is invoked on any non-expression types.

Definition at line 171 of file SMTVisitors.h.

◆ visitUnhandledSMTType()

template<typename ConcreteType , typename ResultType = void, typename... ExtraArgs>
ResultType circt::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 175 of file SMTVisitors.h.


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