DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
Sfx_DbgLogger.h
Go to the documentation of this file.
1#pragma once
2
3// C++ include
4#include <iostream>
5// STL include
6#include <vector>
7// Package include
8#include "include/Singleton.hpp"
9// DamBreak API include
10#include "../Nov_VS2019/SimulationConfig.h" // StateVector
11
12namespace Sfx
13{
18 class DbgLogger final : public Sfx::Singleton<DbgLogger>
19 {
20 // method use a tuple to store data.
21 using tuplevec = std::tuple<uint32,std::vector<float64>,std::vector<float64>>;
22 public:
27 DbgLogger( const DbgLogger&) = delete;
33 DbgLogger& operator= ( const DbgLogger&) = delete;
38 void open( const std::string& aFilename="LoggerFile.txt");
43 bool isOpen() {return m_opened;} // check file status
47 void close();
52 void write2file( const std::string& aMsg="")=delete;
58 void write2file( const std::string& aMsg, const int aVal);
63 void write2file_p( const tuplevec& aTuple);
68 void write2file( const tuplevec& aTuple);
73 void writeField2File( const ::StateVector aStateVec); // pass by copy
78 void writeField2File_p(const ::StateVector aStateVec); // pass by copy
83 void write2file( const std::tuple<int32,float64,float64>& aTuple)=delete;
88 std::string name() const noexcept { return std::string(NomFichierDEBUG); }
92 friend class Singleton<DbgLogger>;
93
94 protected:
98 DbgLogger();
99 private:
100 bool m_opened;
102 char NomFichierDEBUG[256];
103 };
104} // End of namespace
Helper utility that save result to a file to be used for debugging and visualizing.
Definition Sfx_DbgLogger.h:19
bool m_opened
Definition Sfx_DbgLogger.h:100
bool isOpen()
check file is open
Definition Sfx_DbgLogger.h:43
void open(const std::string &aFilename="LoggerFile.txt")
open file for writing (file name as default)
Definition Sfx_DbgLogger.cpp:43
FILE * FichierDEBUG
Definition Sfx_DbgLogger.h:101
void close()
close file
Definition Sfx_DbgLogger.cpp:23
DbgLogger(const DbgLogger &)=delete
denied copy
std::string name() const noexcept
return the filename
Definition Sfx_DbgLogger.h:88
std::tuple< uint32, std::vector< float64 >, std::vector< float64 > > tuplevec
Definition Sfx_DbgLogger.h:21
DbgLogger()
logger creation (default ctor)
Definition Sfx_DbgLogger.cpp:16
void writeField2File(const ::StateVector aStateVec)
Write state vector.
Definition Sfx_DbgLogger.cpp:108
void write2file(const std::tuple< int32, float64, float64 > &aTuple)=delete
write a tuple
void write2file_p(const tuplevec &aTuple)
Write tuple of vector.
Definition Sfx_DbgLogger.cpp:99
char NomFichierDEBUG[256]
Definition Sfx_DbgLogger.h:102
void writeField2File_p(const ::StateVector aStateVec)
Write state vector.
Definition Sfx_DbgLogger.cpp:123
void write2file(const std::string &aMsg="")=delete
write a message to file
DbgLogger & operator=(const DbgLogger &)=delete
denied copy assignment
Definition HydUtils.h:15