
valgrind output will go to log
VALGRIND_DO_LEAK_CHECK
8 bytes in 1 blocks are definitely lost in loss record ... of ...
   by 0x........: doit() (leak_cpp_interior.cpp:115)
   by 0x........: main (leak_cpp_interior.cpp:130)

LEAK SUMMARY:
   definitely lost: 8 bytes in 1 blocks
   indirectly lost: 0 bytes in 0 blocks
     possibly lost: 0 bytes in 0 blocks
   still reachable: 273 bytes in 8 blocks
                      of which reachable via heuristic:
                        stdstring          : 114 bytes in 2 blocks
                        length64           : 31 bytes in 1 blocks
                        newarray           : 32 bytes in 1 blocks
                        multipleinheritance: 48 bytes in 2 blocks
        suppressed: 0 bytes in 0 blocks
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all

leak_check summary heuristics multipleinheritance
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 177 (+177) bytes in 4 (+4) blocks
   still reachable: 96 (-177) bytes in 4 (-4) blocks
                      of which reachable via heuristic:
                        stdstring          : 0 (-114) bytes in 0 (-2) blocks
                        length64           : 0 (-31) bytes in 0 (-1) blocks
                        newarray           : 0 (-32) bytes in 0 (-1) blocks
                        multipleinheritance: 48 (+0) bytes in 2 (+0) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary any heuristics newarray
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 162 (-15) bytes in 4 (+0) blocks
   still reachable: 111 (+15) bytes in 4 (+0) blocks
                      of which reachable via heuristic:
                        newarray           : 63 (+63) bytes in 2 (+2) blocks
                        multipleinheritance: 0 (-48) bytes in 0 (-2) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics length64
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 194 (+32) bytes in 5 (+1) blocks
   still reachable: 79 (-32) bytes in 3 (-1) blocks
                      of which reachable via heuristic:
                        length64           : 31 (+31) bytes in 1 (+1) blocks
                        newarray           : 0 (-63) bytes in 0 (-2) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics stdstring
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 111 (-83) bytes in 4 (-1) blocks
   still reachable: 162 (+83) bytes in 4 (+1) blocks
                      of which reachable via heuristic:
                        stdstring          : 114 (+114) bytes in 2 (+2) blocks
                        length64           : 0 (-31) bytes in 0 (-1) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics multipleinheritance,newarray,stdstring,length64
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 0 (-111) bytes in 0 (-4) blocks
   still reachable: 273 (+111) bytes in 8 (+4) blocks
                      of which reachable via heuristic:
                        stdstring          : 114 (+0) bytes in 2 (+0) blocks
                        length64           : 31 (+31) bytes in 1 (+1) blocks
                        newarray           : 32 (+32) bytes in 1 (+1) blocks
                        multipleinheritance: 48 (+48) bytes in 2 (+2) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics all
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 0 (+0) bytes in 0 (+0) blocks
   still reachable: 273 (+0) bytes in 8 (+0) blocks
                      of which reachable via heuristic:
                        stdstring          : 114 (+0) bytes in 2 (+0) blocks
                        length64           : 31 (+0) bytes in 1 (+0) blocks
                        newarray           : 32 (+0) bytes in 1 (+0) blocks
                        multipleinheritance: 48 (+0) bytes in 2 (+0) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

leak_check summary heuristics none
LEAK SUMMARY:
   definitely lost: 8 (+0) bytes in 1 (+0) blocks
   indirectly lost: 0 (+0) bytes in 0 (+0) blocks
     possibly lost: 225 (+225) bytes in 6 (+6) blocks
   still reachable: 48 (-225) bytes in 2 (-6) blocks
                      of which reachable via heuristic:
                        stdstring          : 0 (-114) bytes in 0 (-2) blocks
                        length64           : 0 (-31) bytes in 0 (-1) blocks
                        newarray           : 0 (-32) bytes in 0 (-1) blocks
                        multipleinheritance: 0 (-48) bytes in 0 (-2) blocks
        suppressed: 0 (+0) bytes in 0 (+0) blocks
To see details of leaked memory, give 'full' arg to leak_check

Searching for pointers pointing in 20 bytes from 0x........
*0x........ interior points at 8 bytes inside 0x........
 Address 0x........ is 0 bytes inside data symbol "ptr"
block at 0x........ considered reachable by ptr 0x........ using newarray heuristic
destruct MyClass
destruct MyClass
destruct MyClass
destruct Ce
destruct Be
destruct Ae
destruct Ce
destruct Be
destruct Ae
destruct C
destruct B
destruct A
destruct C
destruct B
destruct A
Finished!

HEAP SUMMARY:
    in use at exit: 0 bytes in 0 blocks
  total heap usage: 9 allocs, 9 frees, 281 bytes allocated

All heap blocks were freed -- no leaks are possible

For counts of detected and suppressed errors, rerun with: -v
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
