| ' Licensed under the Apache License, Version 2.0 (the "License"); |
| ' you may not use this file except in compliance with the License. |
| ' You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
| ' Unless required by applicable law or agreed to in writing, software distributed under the License is distributed |
| ' on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ' See the License for the specific language governing permissions and limitations under the License. |
| |
| @startuml |
| |
| hide empty members |
| |
| class HdrStrHeap << (V, green) >> { |
| Storage for strings. |
| == |
| Extended Storage |
| } |
| |
| class StrHeapDesc { |
| m_ref_count_ptr |
| m_heap_start |
| m_heap_len |
| m_locked |
| } |
| |
| HdrStrHeap --|> RefCountObj |
| StrHeapDesc --o RefCountObj : m_ref_count_ptr |
| |
| note left of HdrStrHeap : Storage for strings in\nheap objects. |
| |
| class HdrHeap << (V, green) >> { |
| Storage for objects. |
| == |
| Extended Storage |
| } |
| |
| class HdrHeapObjImpl { |
| m_type |
| m_length |
| m_obj_flags |
| } |
| |
| HdrHeap --* "3" StrHeapDesc : m_ronly_heap |
| HdrHeap --o HdrStrHeap : m_read_write_heap |
| HdrHeap --o HdrHeap : next |
| |
| note left of HdrHeap : Heap storage for objects |
| |
| abstract class HdrHeapObjImpl |
| |
| HdrHeap --o "*" HdrHeapObjImpl : [heap storage] |
| |
| @enduml |