// SPDX-License-Identifier: MIT
#include "ExceptionMessages.hh"
#include <sstream>
namespace fedem
{
namespace exception
{
static void streamDescriptionHead( std::ostream& stream,
std::string const& message )
{
stream << "Exception\n"
" Message : ";
stream << message;
stream << "\n";
}
std::string descriptionHead( std::string const& message,
std::locale const& loc )
{
std::ostringstream stream;
stream.imbue( loc );
streamDescriptionHead( stream, message );
return stream.str( );
}
std::string descriptionHead( std::string const& message )
{
std::ostringstream stream;
streamDescriptionHead( stream, message );
return stream.str( );
}
static void streamDescriptionOptional( std::ostream& stream,
std::string const& file,
unsigned long lineNo )
{
stream << " Filename : '";
stream << file;
stream << "'\n"
" Line Number : '";
stream << lineNo;
stream << "\n";
}
std::string descriptionOptional( std::string const& file,
unsigned long lineNo,
std::locale const& loc )
{
std::ostringstream stream;
stream.imbue( loc );
streamDescriptionOptional( stream, file, lineNo );
return stream.str( );
}
std::string descriptionOptional( std::string const& file,
unsigned long lineNo )
{
std::ostringstream stream;
streamDescriptionOptional( stream, file, lineNo );
return stream.str( );
}
} // namespace exception
} // namespace fedem