What one could do besides attributes is to have functions just for use by the debugger.

Like an integrated debug interface.

 

Anything similar already out there for C++?

 

 

Other languages:

 

Elixir

Inspect protocol

https://hexdocs.pm/elixir/Inspect.html

 

Rust:

#[derive(Debug)] attribute

https://doc.rust-lang.org/rust-by-example/hello/print/print_debug.html

 

Julia:

overloading Base.show member function

https://docs.julialang.org/en/v1/manual/types/#man-custom-pretty-printing

 

C#

DebuggerDisplay attribute

https://learn.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute?view=vs-2022
 

Python:

__repr__ member function

https://docs.python.org/3/library/functions.html#repr

 

 

 

 

-----Ursprüngliche Nachricht-----
Von: Henning Meyer via Std-Proposals <std-proposals@lists.isocpp.org>
 - For ranges, the language has a way of marking them, that is via
begin()/end() methods or free functions.