nuclear@0: #ifndef AI_STROSTREAMLOGSTREAM_H_INC nuclear@0: #define AI_STROSTREAMLOGSTREAM_H_INC nuclear@0: nuclear@0: #include "assimp/LogStream.hpp" nuclear@0: #include nuclear@0: nuclear@0: namespace Assimp { nuclear@0: nuclear@0: // --------------------------------------------------------------------------- nuclear@0: /** @class StdOStreamLogStream nuclear@0: * @brief Logs into a std::ostream nuclear@0: */ nuclear@0: class StdOStreamLogStream : public LogStream nuclear@0: { nuclear@0: public: nuclear@0: /** @brief Construction from an existing std::ostream nuclear@0: * @param _ostream Output stream to be used nuclear@0: */ nuclear@0: StdOStreamLogStream(std::ostream& _ostream); nuclear@0: nuclear@0: /** @brief Destructor */ nuclear@0: ~StdOStreamLogStream(); nuclear@0: nuclear@0: /** @brief Writer */ nuclear@0: void write(const char* message); nuclear@0: private: nuclear@0: std::ostream& ostream; nuclear@0: }; nuclear@0: nuclear@0: // --------------------------------------------------------------------------- nuclear@0: // Default constructor nuclear@0: inline StdOStreamLogStream::StdOStreamLogStream(std::ostream& _ostream) nuclear@0: : ostream (_ostream) nuclear@0: {} nuclear@0: nuclear@0: // --------------------------------------------------------------------------- nuclear@0: // Default constructor nuclear@0: inline StdOStreamLogStream::~StdOStreamLogStream() nuclear@0: {} nuclear@0: nuclear@0: // --------------------------------------------------------------------------- nuclear@0: // Write method nuclear@0: inline void StdOStreamLogStream::write(const char* message) nuclear@0: { nuclear@0: ostream << message; nuclear@0: ostream.flush(); nuclear@0: } nuclear@0: nuclear@0: // --------------------------------------------------------------------------- nuclear@0: } // Namespace Assimp nuclear@0: nuclear@0: #endif // guard