|
CBMC
|
Base class for tree-like data structures with sharing. More...
#include <irep.h>
Inheritance diagram for sharing_treet< derivedt, named_subtreest >:
Collaboration diagram for sharing_treet< derivedt, named_subtreest >:Public Types | |
| using | dt = tree_nodet< derivedt, named_subtreest, true > |
| using | subt = typename dt::subt |
| using | named_subt = typename dt::named_subt |
| using | tree_implementationt = sharing_treet |
| Used to refer to this class from derived classes. More... | |
Public Member Functions | |
| sharing_treet (irep_idt _id) | |
| sharing_treet (irep_idt _id, named_subt _named_sub, subt _sub) | |
| sharing_treet () | |
| sharing_treet (const sharing_treet &irep) | |
| sharing_treet (sharing_treet &&irep) | |
| sharing_treet & | operator= (const sharing_treet &irep) |
| sharing_treet & | operator= (sharing_treet &&irep) |
| ~sharing_treet () | |
| const dt & | read () const |
| dt & | write () |
Protected Member Functions | |
| void | detach () |
Static Protected Member Functions | |
| static void | remove_ref (dt *old_data) |
| static void | nonrecursive_destructor (dt *old_data) |
| Does the same as remove_ref, but using an explicit stack instead of recursion. More... | |
Protected Attributes | |
| dt * | data |
Static Protected Attributes | |
| static dt | empty_d |
Base class for tree-like data structures with sharing.
| using sharing_treet< derivedt, named_subtreest >::dt = tree_nodet<derivedt, named_subtreest, true> |
| using sharing_treet< derivedt, named_subtreest >::named_subt = typename dt::named_subt |
| using sharing_treet< derivedt, named_subtreest >::subt = typename dt::subt |
| using sharing_treet< derivedt, named_subtreest >::tree_implementationt = sharing_treet |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
staticprotected |
|
inline |
|
inline |
|
inline |
|
staticprotected |
|
inline |
|
protected |
|
staticprotected |