Matrix Science header

ms_log_impl.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_log_impl.hpp                                                      #
00004 # 'msparser' toolkit                                                         #
00005 # Included from ms_log.hpp - but conditionally for when building the library #
00006 #                                                                            #
00007 ##############################################################################
00008 # COPYRIGHT NOTICE                                                           #
00009 # Copyright 1998-2018 Matrix Science Limited  All Rights Reserved.           #
00010 #                                                                            #
00011 ##############################################################################
00012 #    $Archive:: /Mowse/ms_mascotresfile/include/ms_errors.hpp              $ #
00013 #     $Author: dcreasy@matrixscience.com $ #
00014 #       $Date: 2020-02-17 11:03:19 +0000 $ #
00015 #   $Revision: 16a3f4baa19a07d69f3cdf5833b81caa60bbc674 | MSPARSER_REL_2_8_1-0-gea32989045 $ #
00016 # $NoKeywords::                                                            $ #
00017 ##############################################################################
00018 */
00019 
00020 #ifndef MS_LOG_IMPL_HPP
00021 #define MS_LOG_IMPL_HPP
00022 
00023 
00024 #ifndef SWIG
00025 #if defined(_INTERNAL_USE_AND_HAVE_BOOST_FORMAT) || defined(DOXYGEN_SHOULD_SKIP_THIS)
00026 
00027 #include "boost/format.hpp"
00028 
00029 namespace matrix_science {
00030 
00031 
00032 
00033 // It's OK to have templated functions in this file. 
00034 // If the code for this, non template, function is added here you will
00035 // get multiply defined link warnings 
00036 /*
00037 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum) 
00038 {
00039     ms_log::msg_sev severity;
00040     std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00041     _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00042 } */
00043 
00052 template <typename T1>
00053 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1) {
00054     if (willMessageBeLogged(msgNum)) {
00055         ms_log::msg_sev severity;
00056         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00057         boost::format fmter(unformattedMsg);
00058         if (fmter.expected_args() == 1) {
00059             fmter % arg1;
00060             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00061         } else {
00062             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00063         }
00064     }
00065 }
00066 
00076 template <typename T1, typename T2>
00077 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2) {
00078     if (willMessageBeLogged(msgNum)) {
00079         ms_log::msg_sev severity;
00080         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00081         boost::format fmter(unformattedMsg);
00082         if (fmter.expected_args() == 2) {
00083             fmter % arg1 %arg2;
00084             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00085         } else {
00086             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00087         }
00088     }
00089 }
00090 
00101 template <typename T1, typename T2, typename T3>
00102 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3) {
00103     if (willMessageBeLogged(msgNum)) {
00104         ms_log::msg_sev severity;
00105         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00106         boost::format fmter(unformattedMsg);
00107         if (fmter.expected_args() == 3) {
00108             fmter % arg1 %arg2 %arg3;
00109             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00110         } else {
00111             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00112         }
00113     }
00114 }
00115 
00116 
00128 template <typename T1, typename T2, typename T3, typename T4>
00129 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4) {
00130     if (willMessageBeLogged(msgNum)) {
00131         ms_log::msg_sev severity;
00132         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00133         boost::format fmter(unformattedMsg);
00134         if (fmter.expected_args() == 4) {
00135             fmter % arg1 %arg2 %arg3 %arg4;
00136             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00137         } else {
00138             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00139         }
00140     }
00141 }
00142 
00143 
00156 template <typename T1, typename T2, typename T3, typename T4, typename T5>
00157 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) {
00158     if (willMessageBeLogged(msgNum)) {
00159         ms_log::msg_sev severity;
00160         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00161         boost::format fmter(unformattedMsg);
00162         if (fmter.expected_args() == 5) {
00163             fmter % arg1 %arg2 %arg3 %arg4 %arg5;
00164             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00165         } else {
00166             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00167         }
00168     }
00169 }
00170 
00184 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
00185 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) {
00186     if (willMessageBeLogged(msgNum)) {
00187         ms_log::msg_sev severity;
00188         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00189         boost::format fmter(unformattedMsg);
00190         if (fmter.expected_args() == 6) {
00191             fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6;
00192             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00193         } else {
00194             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00195         }
00196     }
00197 }
00198 
00213 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
00214 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) {
00215     if (willMessageBeLogged(msgNum)) {
00216         ms_log::msg_sev severity;
00217         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00218         boost::format fmter(unformattedMsg);
00219         if (fmter.expected_args() == 7) {
00220             fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7;
00221             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00222         }
00223         else {
00224             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00225         }
00226     }
00227 }
00228 
00244 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
00245 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) {
00246     if (willMessageBeLogged(msgNum)) {
00247         ms_log::msg_sev severity;
00248         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00249         boost::format fmter(unformattedMsg);
00250         if (fmter.expected_args() == 8) {
00251             fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7 %arg8;
00252             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00253         }
00254         else {
00255             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00256         }
00257     }
00258 }
00259 
00276 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
00277 void ms_log::logMessage(ms_log::msg_num_t msgNum, const char * srcFile, const int lineNum, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) {
00278     if (willMessageBeLogged(msgNum)) {
00279         ms_log::msg_sev severity;
00280         std::string unformattedMsg = _lookUpMsg(msgNum, severity);
00281         boost::format fmter(unformattedMsg);
00282         if (fmter.expected_args() == 9) {
00283             fmter % arg1 %arg2 %arg3 %arg4 %arg5 %arg6 %arg7 %arg8 %arg9;
00284             _setError(static_cast<int>(msgNum), fmter.str().c_str(), severity, "", -1, lineNum, srcFile);
00285         }
00286         else {
00287             _setError(static_cast<int>(msgNum), unformattedMsg.c_str(), severity, "", -1, lineNum, srcFile);
00288         }
00289     }
00290 }
00291 
00292 #endif
00293 #endif
00294 
00295 } // namespace matrix_science
00296 
00297 #endif // MS_LOG_IMPL_HPP
00298 
00299 /*------------------------------- End of File -------------------------------*/

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29