11 #ifndef AP_MAIN_TYPE_HXX
12 #define AP_MAIN_TYPE_HXX
17 #ifndef PARS_DTREE_HXX
40 void push_nodes_changed_since(
Level wanted_frameLevel);
41 void rollback_to(
Level wanted_frameLevel);
84 #if defined(UNIT_TESTS)
85 void remember_whole_tree();
92 if (wanted_frameLevel>=frameLevel) {
96 push_nodes_changed_since(wanted_frameLevel);
97 rollback_to(wanted_frameLevel);
108 #if defined(PROVIDE_PRINT)
109 void print(std::ostream& out);
110 void print2file(
const char *file_in_ARBHOME);
111 void dump2file(
const char *name) {
115 system(
"rm $ARBHOME/[0-9][0-9]_*.log");
119 print2file(numbered_name);
125 #if defined(ASSERTION_USED) || defined(UNIT_TESTS)
138 for (
Level rollback = 1; rollback<=pops_avail &&
valid; ++rollback) {
139 Level wanted_level = pops_avail-rollback;
143 valid =
Validity(tree_is_valid(get_root_node(),
false));
154 inline AP_tree_nlen *
makeNode(AP_pars_root *proot);
161 #error ap_main_type.hxx included twice
162 #endif // AP_MAIN_TYPE_HXX
size_t count_elements() const
void revert_if(bool cond)
#define ASSERT_RESULT(Type, Expected, Expr)
void remember_user_state()
AP_tree_nlen * get_root_node()
bool remember_and_rollback_to_previous()
GBDATA * get_gb_main() const
Validity revert_will_produce_valid_tree()
size_t get_user_push_counter() const
Validity all_available_reverts_will_produce_valid_trees()
bool push_node(AP_tree_nlen *node, AP_STACK_MODE)
void accept_if(bool cond)
DEFINE_READ_ACCESSORS(AP_tree_nlen *, get_root_node, agt->get_root_node())
AWT_graphic_parsimony * get_graphic_tree()
CONSTEXPR_INLINE bool valid(SpeciesCreationMode m)
void destroyNode(AP_tree_nlen *node)
GB_ERROR open(const char *db_server)
AP_pars_root * get_tree_root()
AP_STACK< UserFrame > UserFrameStack
AP_tree_edge * makeEdge(AP_tree_nlen *n1, AP_tree_nlen *n2)
bool remember_and_rollback_to(Level wanted_frameLevel)
AP_pars_root * get_tree_root() const
void destroyEdge(AP_tree_edge *edge)
Level get_frameLevel() const
void set_tree_root(AWT_graphic_parsimony *agt_)
const char * get_aliname() const
#define ASSERT_VALID_TREE(tree)
char * GBS_global_string_copy(const char *templat,...)
void GB_close(GBDATA *gbd)
AP_tree_nlen * makeNode(AP_pars_root *proot)