mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 18:32:45 +00:00 
			
		
		
		
	 f84a7e2e22
			
		
	
	
		f84a7e2e22
		
	
	
	
	
		
			
			This decreases the memory consumption by LibPDF by 4 bytes per Value, compensating exactly for the increase in an earlier commit. :^)
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1,002 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1,002 B
		
	
	
	
		
			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 {
 | |
| 
 | |
| String Value::to_string(int indent) const
 | |
| {
 | |
|     return visit(
 | |
|         [&](Empty const&) -> String {
 | |
|             // Return type deduction means that we can't use implicit conversions.
 | |
|             return "<empty>";
 | |
|         },
 | |
|         [&](std::nullptr_t const&) -> String {
 | |
|             return "null";
 | |
|         },
 | |
|         [&](bool const& b) -> String {
 | |
|             return b ? "true" : "false";
 | |
|         },
 | |
|         [&](int const& i) {
 | |
|             return String::number(i);
 | |
|         },
 | |
|         [&](float const& f) {
 | |
|             return String::number(f);
 | |
|         },
 | |
|         [&](Reference const& ref) {
 | |
|             return String::formatted("{} {} R", ref.as_ref_index(), ref.as_ref_generation_index());
 | |
|         },
 | |
|         [&](NonnullRefPtr<Object> const& object) {
 | |
|             return object->to_string(indent);
 | |
|         });
 | |
| }
 | |
| 
 | |
| }
 |