'Counts dynamic properties for tree, such as all complex formats'

def _count_props(self):

    self.single_leaf_record_format = (self.key_format + self.meta_format)
    self.single_node_record_format = ((self.pointer_format + self.key_format) + self.pointer_format)
    self.node_format = (((self.elements_counter_format + self.flag_format) + self.pointer_format) + ((self.key_format + self.pointer_format) * self.node_capacity))
    self.leaf_format = ((self.elements_counter_format + (self.pointer_format * 2)) + (self.single_leaf_record_format * self.node_capacity))
    self.leaf_heading_format = (self.elements_counter_format + (self.pointer_format * 2))
    self.node_heading_format = (self.elements_counter_format + self.flag_format)
    self.key_size = struct.calcsize(('<' + self.key_format))
    self.meta_size = struct.calcsize(('<' + self.meta_format))
    self.single_leaf_record_size = struct.calcsize(('<' + self.single_leaf_record_format))
    self.single_node_record_size = struct.calcsize(('<' + self.single_node_record_format))
    self.node_size = struct.calcsize(('<' + self.node_format))
    self.leaf_size = struct.calcsize(('<' + self.leaf_format))
    self.flag_size = struct.calcsize(('<' + self.flag_format))
    self.elements_counter_size = struct.calcsize(('<' + self.elements_counter_format))
    self.pointer_size = struct.calcsize(('<' + self.pointer_format))
    self.leaf_heading_size = struct.calcsize(('<' + self.leaf_heading_format))
    self.node_heading_size = struct.calcsize(('<' + self.node_heading_format))
