diff options
Diffstat (limited to 'src/printer')
-rw-r--r-- | src/printer/sygus_print_callback.cpp | 2 | ||||
-rw-r--r-- | src/printer/sygus_print_callback.h | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/printer/sygus_print_callback.cpp b/src/printer/sygus_print_callback.cpp index c5287e469..77f68e097 100644 --- a/src/printer/sygus_print_callback.cpp +++ b/src/printer/sygus_print_callback.cpp @@ -208,5 +208,7 @@ void SygusEmptyPrintCallback::toStreamSygus(const Printer* p, } } +std::shared_ptr<SygusEmptyPrintCallback> SygusEmptyPrintCallback::d_empty_pc = nullptr; + } /* CVC4::printer namespace */ } /* CVC4 namespace */ diff --git a/src/printer/sygus_print_callback.h b/src/printer/sygus_print_callback.h index 84da0f86c..e0c220e00 100644 --- a/src/printer/sygus_print_callback.h +++ b/src/printer/sygus_print_callback.h @@ -154,6 +154,19 @@ class CVC4_PUBLIC SygusEmptyPrintCallback : public SygusPrintCallback virtual void toStreamSygus(const Printer* p, std::ostream& out, Expr e) const override; + /* Retrieves empty callback pointer */ + static inline std::shared_ptr<SygusEmptyPrintCallback> getEmptyPC() + { + if (!d_empty_pc) + { + d_empty_pc = std::make_shared<SygusEmptyPrintCallback>(); + } + return d_empty_pc; + } + + private: + /* empty callback object */ + static std::shared_ptr<SygusEmptyPrintCallback> d_empty_pc; }; } /* CVC4::printer namespace */ |