![]() |
|
|||
File indexing completed on 2025-02-21 09:30:08
0001 /* 0002 Open Asset Import Library (assimp) 0003 ---------------------------------------------------------------------- 0004 0005 Copyright (c) 2006-2024, assimp team 0006 0007 All rights reserved. 0008 0009 Redistribution and use of this software in source and binary forms, 0010 with or without modification, are permitted provided that the 0011 following conditions are met: 0012 0013 * Redistributions of source code must retain the above 0014 copyright notice, this list of conditions and the 0015 following disclaimer. 0016 0017 * Redistributions in binary form must reproduce the above 0018 copyright notice, this list of conditions and the 0019 following disclaimer in the documentation and/or other 0020 materials provided with the distribution. 0021 0022 * Neither the name of the assimp team, nor the names of its 0023 contributors may be used to endorse or promote products 0024 derived from this software without specific prior 0025 written permission of the assimp team. 0026 0027 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 0028 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 0029 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 0030 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 0031 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 0032 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 0033 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 0034 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 0035 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 0036 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 0037 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 0038 0039 ---------------------------------------------------------------------- 0040 */ 0041 0042 /** @file LogAux.h 0043 * @brief Common logging usage patterns for importer implementations 0044 */ 0045 #pragma once 0046 #ifndef INCLUDED_AI_LOGAUX_H 0047 #define INCLUDED_AI_LOGAUX_H 0048 0049 #ifdef __GNUC__ 0050 # pragma GCC system_header 0051 #endif 0052 0053 #include <assimp/TinyFormatter.h> 0054 #include <assimp/Exceptional.h> 0055 #include <assimp/DefaultLogger.hpp> 0056 0057 namespace Assimp { 0058 0059 /// @brief Logger class, which will extend the class by log-functions. 0060 /// @tparam TDeriving 0061 template<class TDeriving> 0062 class LogFunctions { 0063 public: 0064 // ------------------------------------------------------------------------------------------------ 0065 template<typename... T> 0066 static void ThrowException(T&&... args) 0067 { 0068 throw DeadlyImportError(Prefix(), std::forward<T>(args)...); 0069 } 0070 0071 // ------------------------------------------------------------------------------------------------ 0072 template<typename... T> 0073 static void LogWarn(T&&... args) { 0074 if (!DefaultLogger::isNullLogger()) { 0075 ASSIMP_LOG_WARN(Prefix(), std::forward<T>(args)...); 0076 } 0077 } 0078 0079 // ------------------------------------------------------------------------------------------------ 0080 template<typename... T> 0081 static void LogError(T&&... args) { 0082 if (!DefaultLogger::isNullLogger()) { 0083 ASSIMP_LOG_ERROR(Prefix(), std::forward<T>(args)...); 0084 } 0085 } 0086 0087 // ------------------------------------------------------------------------------------------------ 0088 template<typename... T> 0089 static void LogInfo(T&&... args) { 0090 if (!DefaultLogger::isNullLogger()) { 0091 ASSIMP_LOG_INFO(Prefix(), std::forward<T>(args)...); 0092 } 0093 } 0094 0095 // ------------------------------------------------------------------------------------------------ 0096 template<typename... T> 0097 static void LogDebug(T&&... args) { 0098 if (!DefaultLogger::isNullLogger()) { 0099 ASSIMP_LOG_DEBUG(Prefix(), std::forward<T>(args)...); 0100 } 0101 } 0102 0103 // ------------------------------------------------------------------------------------------------ 0104 template<typename... T> 0105 static void LogVerboseDebug(T&&... args) { 0106 if (!DefaultLogger::isNullLogger()) { 0107 ASSIMP_LOG_VERBOSE_DEBUG(Prefix(), std::forward<T>(args)...); 0108 } 0109 } 0110 0111 private: 0112 static const char* Prefix(); 0113 }; 0114 0115 } // ! Assimp 0116 0117 #endif // INCLUDED_AI_LOGAUX_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |