8 #ifndef INCLUDED_SC_INC_FORMULALOGGER_HXX
9 #define INCLUDED_SC_INC_FORMULALOGGER_HXX
11 #include <rtl/ustring.hxx>
14 #include <string_view>
17 #include <config_options_calc.h>
27 struct VectorRefArray;
35 #if ENABLE_FORMULA_LOGGER
42 std::unique_ptr<osl::File> mpLogFile;
44 sal_Int32 mnNestLevel = 0;
47 void writeAscii(
const char* s );
48 void writeAscii(
const char* s,
size_t n );
49 void write( std::u16string_view ou );
50 void write( sal_Int32 n );
54 void writeNestLevel();
58 static FormulaLogger&
get();
65 friend class FormulaLogger;
68 std::unique_ptr<Impl> mpImpl;
71 GroupScope() =
delete;
72 GroupScope(
const GroupScope& ) =
delete;
73 GroupScope& operator= (
const GroupScope& ) =
delete;
77 FormulaLogger& rLogger,
const OUString& rPrefix,
79 bool bOutputEnabled );
82 GroupScope(GroupScope&& r) noexcept;
96 const
formula::VectorRefArray& rArray );
104 const
std::vector<
formula::VectorRefArray>& rArrays );
111 const
formula::FormulaToken& rToken );
121 FormulaLogger( const FormulaLogger& ) = delete;
122 FormulaLogger& operator= ( const FormulaLogger& ) = delete;
158 const std::vector<formula::VectorRefArray>& )
185 #endif // ENABLE_FORMULA_LOGGER