Commit c573f43c authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Moved stuff from Logger.cpp to Logger_impl.h

parent 35b0e105
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ set( headers
set( common_SOURCES
     FileName.cpp
     Object.cpp
     Logger.cpp
     String.cpp
     Timer.cpp )

src/TNL/Logger.cpp

deleted100644 → 0
+0 −57
Original line number Diff line number Diff line
/***************************************************************************
                          Logger.cpp  -  description
                             -------------------
    begin                : 2007/08/22
    copyright            : (C) 2007 by Tomas Oberhuber
    email                : tomas.oberhuber@fjfi.cvut.cz
 ***************************************************************************/

/* See Copyright Notice in tnl/Copyright */

#include <iomanip>
#include <TNL/Logger.h>
#include <TNL/Devices/CudaDeviceInfo.h>
#include <TNL/Devices/SystemInfo.h>

namespace TNL {

Logger :: Logger( int _width, std::ostream& _stream )
: width( _width ),
  stream( _stream )
{
}

void Logger :: writeHeader( const String& title )
{
   int fill = stream. fill();
   int titleLength = title. getLength();
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream << "|" << std::setfill( ' ' ) << std::setw( width ) << "|" << std::endl;
   stream << "|" << std::setw( width / 2 + titleLength / 2 )
    << title << std::setw( width / 2 - titleLength / 2  ) << "|" << std::endl;
   stream << "|" << std::setfill( ' ' ) << std::setw( width ) << "|" << std::endl;
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream. fill( fill );
}

void Logger :: writeSeparator()
{
   int fill = stream. fill();
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream. fill( fill );
}

bool Logger :: writeSystemInformation( const Config::ParameterContainer& parameters )
{
   Devices::SystemInfo::writeDeviceInfo( *this );
   if( parameters.getParameter< String >( "device" ) == "cuda" )
      Devices::CudaDeviceInfo::writeDeviceInfo( *this );
   return true;
}

void Logger :: writeCurrentTime( const char* label )
{
   writeParameter< String >( label, Devices::SystemInfo::getCurrentTime() );
}

} // namespace TNL
+6 −6
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#pragma once

#include <ostream>

#include <TNL/Config/ParameterContainer.h>

namespace TNL {
@@ -19,14 +20,14 @@ namespace TNL {
class Logger
{
public:

   /////
   /// \brief Basic constructor.
   ///
   /// \param _width Integer that defines the width of the log.
   /// \param _stream Defines output stream where the log will be printed out.
   Logger( int _width,
              std::ostream& _stream );
   Logger( int width, std::ostream& stream )
   : width( width ), stream( stream )
   {}

   /////
   /// \brief Creates header in given log.
@@ -77,7 +78,6 @@ class Logger
                        int parameterLevel = 0 );

protected:

   /// \brief Integer defining the width of the log.
   int width;

+60 −17
Original line number Diff line number Diff line
@@ -13,10 +13,52 @@
#include <sstream>
#include <iomanip>

#include <TNL/Logger.h>
#include <TNL/Devices/CudaDeviceInfo.h>
#include <TNL/Devices/SystemInfo.h>

namespace TNL {

template< typename ParameterType >
void Logger::writeParameter( const String& label,
inline void
Logger::writeHeader( const String& title )
{
   const int fill = stream.fill();
   const int titleLength = title.getLength();
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream << "|" << std::setfill( ' ' ) << std::setw( width ) << "|" << std::endl;
   stream << "|" << std::setw( width / 2 + titleLength / 2 )
          << title << std::setw( width / 2 - titleLength / 2  ) << "|" << std::endl;
   stream << "|" << std::setfill( ' ' ) << std::setw( width ) << "|" << std::endl;
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream.fill( fill );
}

inline void
Logger::writeSeparator()
{
   const int fill = stream.fill();
   stream << "+" << std::setfill( '-' ) << std::setw( width ) << "+" << std::endl;
   stream.fill( fill );
}

inline bool
Logger::writeSystemInformation( const Config::ParameterContainer& parameters )
{
   Devices::SystemInfo::writeDeviceInfo( *this );
   if( parameters.getParameter< String >( "device" ) == "cuda" )
      Devices::CudaDeviceInfo::writeDeviceInfo( *this );
   return true;
}

inline void
Logger::writeCurrentTime( const char* label )
{
   writeParameter< String >( label, Devices::SystemInfo::getCurrentTime() );
}

template< typename T >
void
Logger::writeParameter( const String& label,
                        const String& parameterName,
                        const Config::ParameterContainer& parameters,
                        int parameterLevel )
@@ -26,15 +68,16 @@ void Logger::writeParameter( const String& label,
   for( i = 0; i < parameterLevel; i ++ )
      stream << " ";
   std::stringstream str;
   str << parameters.getParameter< ParameterType >( parameterName );
   str << parameters.getParameter< T >( parameterName );
   stream << label
          << std::setw( width - label.getLength() - parameterLevel - 3 )
          << str.str() << " |" << std::endl;
}

template< typename ParameterType >
void Logger :: writeParameter( const String& label,
                               const ParameterType& value,
template< typename T >
void
Logger::writeParameter( const String& label,
                        const T& value,
                        int parameterLevel )
{
   stream << "| ";
@@ -46,6 +89,6 @@ void Logger :: writeParameter( const String& label,
   stream << label
          << std::setw( width - label.getLength() - parameterLevel - 3 )
          << str.str() << " |" << std::endl;
};
}

} // namespace TNL