#include "smt_sorts.h"
#include <util/invariant.h>
#include "smt_sorts.def"
Go to the source code of this file.
◆ SORT_ID [1/4]
#define SORT_ID |
( |
|
the_id | ) |
const irep_idt ID_smt_##the_id##_sort{"smt_" #the_id "_sort"}; |
◆ SORT_ID [2/4]
#define SORT_ID |
( |
|
the_id | ) |
|
Value: template <> \
const smt_##the_id##_sortt *smt_sortt::cast<smt_##the_id##_sortt>() const & \
{ \
return
id() == ID_smt_##the_id##_sort \
? static_cast<const smt_##the_id##_sortt *>(this) \
: nullptr; \
}
const irep_idt & id() const
Definition at line 25 of file smt_sorts.cpp.
◆ SORT_ID [3/4]
#define SORT_ID |
( |
|
the_id | ) |
|
Value: template <> \
std::optional<smt_##the_id##_sortt> smt_sortt::cast<smt_##the_id##_sortt>() \
&& \
{ \
if(id() == ID_smt_##the_id##_sort) \
return {std::move(*static_cast<const smt_##the_id##_sortt *>(this))}; \
else \
return {}; \
}
Definition at line 25 of file smt_sorts.cpp.
◆ SORT_ID [4/4]
#define SORT_ID |
( |
|
the_id | ) |
|
Value: if(id == ID_smt_##the_id##_sort) \
return visitor.visit(static_cast<const smt_##the_id##_sortt &>(sort));
Definition at line 25 of file smt_sorts.cpp.
◆ accept()
template<typename visitort >