tree 76c67925773912e87814386044f4efaa4408e725
parent 06e831de30b8aeeb17630c0f2d5f47542848ea18
author Christian Hopps <chopps@gmail.com> 1612173695 -0500
committer Michal Vasko <mvasko@cesnet.cz> 1612176599 +0100

data tree REFACTOR inline access functions, cleanup includes

Also move LYD walk functions to tree_data.h removes requirement to
include tree_data.h in tree.h. tree_data.h now includes tree_schema.h to
allow for inlining. so now it's:

  tree                         for #include "tree.h"
  tree->tree_schema            for #include "tree_schema.h"
  tree->tree_schema->tree_data for #include "tree_data.h"

which better represents the organizational dependencies than what came
before:

  [tree_data]->tree              for #include "tree.h"
  [tree_data]->tree->tree_schema for #include "tree_schema.h"
  tree_data->tree                for #include "tree_data.h"
