Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8cb89259 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Bring back overloading to print String8/16.

Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
parent c40f4e64
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@
// ---------------------------------------------------------------------------
namespace android {

class String8;
class String16;

class TextOutput
{
public:
@@ -76,6 +79,8 @@ TextOutput& operator<<(TextOutput& to, float);
TextOutput& operator<<(TextOutput& to, double);
TextOutput& operator<<(TextOutput& to, TextOutputManipFunc func);
TextOutput& operator<<(TextOutput& to, const void*);
TextOutput& operator<<(TextOutput& to, const String8& val);
TextOutput& operator<<(TextOutput& to, const String16& val);

class TypeCode 
{
+15 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@

#include <binder/Debug.h>

#include <utils/String8.h>
#include <utils/String16.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -119,6 +122,18 @@ TextOutput& operator<<(TextOutput& to, const void* val)
    return to;
}

TextOutput& operator<<(TextOutput& to, const String8& val)
{
    to << val.string();
    return to;
}

TextOutput& operator<<(TextOutput& to, const String16& val)
{
    to << String8(val).string();
    return to;
}

static void textOutputPrinter(void* cookie, const char* txt)
{
    ((TextOutput*)cookie)->print(txt, strlen(txt));