Orcus
Classes | Public Types | Public Member Functions | List of all members
orcus::json::structure_tree Class Reference

Classes

struct  node_properties
 
class  walker
 

Public Types

enum  node_type : short {
  unknown = 0, array = 1, object = 2, object_key = 3,
  value = 4
}
 
using range_handler_type = std::function< void(table_range_t &&)>
 

Public Member Functions

 structure_tree (const structure_tree &)=delete
 
structure_treeoperator= (const structure_tree &)=delete
 
void parse (const char *p, size_t n)
 
void normalize_tree ()
 
void dump_compact (std::ostream &os) const
 
walker get_walker () const
 
void process_ranges (range_handler_type rh) const
 

Member Function Documentation

◆ normalize_tree()

void orcus::json::structure_tree::normalize_tree ( )

For now, normalizing a tree just means sorting child nodes. We may add other normalization stuff later.