Files
commandergenius/project/jni/application/android_debug.h
2014-01-02 01:17:03 +02:00

50 lines
1.0 KiB
C++

#ifndef __ANDROID_DEBUG_H__
#define __ANDROID_DEBUG_H__
#include <stdio.h>
#include <android/log.h>
#ifdef __cplusplus
// Include everything beforehand, so we wont' get compiler eerors because of our #define
#include <string>
#include <ios>
#include <streambuf>
#include <sstream>
#include <fstream>
#include <iostream>
namespace std
{
class android_cout: public ostringstream
{
public:
android_cout() {}
template <class T>
android_cout &operator<<(const T &v)
{
*((ostringstream*)this) << v;
if( this->str().find('\n') != ::std::string::npos )
{
__android_log_print(ANDROID_LOG_INFO, "SDL-app", "%s", this->str().c_str());
this->str().clear();
}
return *this;
}
~android_cout()
{
__android_log_print(ANDROID_LOG_INFO, "SDL-app", "%s", this->str().c_str());
this->str().clear();
}
};
static const char * android_endl = "\n";
}
#define cout android_cout()
#define cerr android_cout()
#define endl android_endl
#endif
#define printf(...) __android_log_print(ANDROID_LOG_INFO, "SDL-app", __VA_ARGS__)
#endif