ladybird/Userland/Libraries/LibPDF/Value.cpp
Ali Mohammad Pur f96a3c002a Everywhere: Stop shoving things into ::std and mentioning them as such
Note that this still keeps the old behaviour of putting things in std by
default on serenity so the tools can be happy, but if USING_AK_GLOBALLY
is unset, AK behaves like a good citizen and doesn't try to put things
in the ::std namespace.

std::nothrow_t and its friends get to stay because I'm being told that
compilers assume things about them and I can't yeet them into a
different namespace...for now.
2022-12-14 11:44:32 +01:00

40 lines
1.1 KiB
C++

/*
* Copyright (c) 2021, Matthew Olsson <mattco@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibPDF/Object.h>
#include <LibPDF/Value.h>
namespace PDF {
DeprecatedString Value::to_deprecated_string(int indent) const
{
return visit(
[&](Empty const&) -> DeprecatedString {
// Return type deduction means that we can't use implicit conversions.
return "<empty>";
},
[&](nullptr_t const&) -> DeprecatedString {
return "null";
},
[&](bool const& b) -> DeprecatedString {
return b ? "true" : "false";
},
[&](int const& i) {
return DeprecatedString::number(i);
},
[&](float const& f) {
return DeprecatedString::number(f);
},
[&](Reference const& ref) {
return DeprecatedString::formatted("{} {} R", ref.as_ref_index(), ref.as_ref_generation_index());
},
[&](NonnullRefPtr<Object> const& object) {
return object->to_deprecated_string(indent);
});
}
}