1/*
2 * Copyright (C) 2012 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "config.h"
27#include "PrintStream.h"
28
29#include <stdio.h>
30#include <wtf/text/CString.h>
31#include <wtf/text/WTFString.h>
32
33namespace WTF {
34
35PrintStream::PrintStream() { }
36PrintStream::~PrintStream() { } // Force the vtable to be in this module
37
38void PrintStream::printf(const char* format, ...)
39{
40 va_list argList;
41 va_start(argList, format);
42 vprintf(format, argList);
43 va_end(argList);
44}
45
46void PrintStream::flush()
47{
48}
49
50void printInternal(PrintStream& out, const char* string)
51{
52 out.printf(format: "%s", string);
53}
54
55void printInternal(PrintStream& out, bool value)
56{
57 if (value)
58 out.print(value: "true");
59 else
60 out.print(value: "false");
61}
62
63void printInternal(PrintStream& out, int value)
64{
65 out.printf(format: "%d", value);
66}
67
68void printInternal(PrintStream& out, unsigned value)
69{
70 out.printf(format: "%u", value);
71}
72
73void printInternal(PrintStream& out, long value)
74{
75 out.printf(format: "%ld", value);
76}
77
78void printInternal(PrintStream& out, unsigned long value)
79{
80 out.printf(format: "%lu", value);
81}
82
83void printInternal(PrintStream& out, long long value)
84{
85#if OS(WINDOWS)
86 out.printf("%I64d", value);
87#else
88 out.printf(format: "%lld", value);
89#endif
90}
91
92void printInternal(PrintStream& out, unsigned long long value)
93{
94#if OS(WINDOWS)
95 out.printf("%I64u", value);
96#else
97 out.printf(format: "%llu", value);
98#endif
99}
100
101void printInternal(PrintStream& out, float value)
102{
103 out.print(value: static_cast<double>(value));
104}
105
106void printInternal(PrintStream& out, double value)
107{
108 out.printf(format: "%lf", value);
109}
110
111void printInternal(PrintStream& out, RawPointer value)
112{
113 out.printf(format: "%p", value.value());
114}
115
116void dumpCharacter(PrintStream& out, char value)
117{
118 out.printf(format: "%c", value);
119}
120
121} // namespace WTF
122
123

source code of qtdeclarative/src/3rdparty/masm/wtf/PrintStream.cpp