{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "70611e608778a432566e30965e8b4bc7ea75aa36",
    "tool": "doxyref",
    "version": "1.17.0"
  },
  "language": "cpp",
  "modules": [
    {
      "description": "Interface for planning reusable buffers.",
      "name": "MicroMemoryPlanner",
      "path": "micromemoryplanner",
      "submodules": [],
      "summary": "Interface for planning reusable buffers.",
      "symbols": [
        {
          "description": "Interface class for planning the layout of memory buffers during the execution of a graph. It's designed to be used by a client that iterates in any order through the buffers it wants to lay out, and then calls the getter functions for information about the calculated layout. For example:\n\nSomeMemoryPlanner planner; planner.AddBuffer(100, 0, 1); // `Buffer` 0 planner.AddBuffer(50, 2, 3); // `Buffer` 1 planner.AddBuffer(50, 2, 3); // `Buffer` 2\n\nint offset0; TF_EXPECT_OK(planner.GetOffsetForBuffer(0, &offset0)); int offset1; TF_EXPECT_OK(planner.GetOffsetForBuffer(1, &offset1)); int offset2; TF_EXPECT_OK(planner.GetOffsetForBuffer(2, &offset2)); const int arena_size_needed = planner.GetMaximumMemorySize();\n\nThe goal is for applications to be able to experiment with different layout strategies without changing their client code, by swapping out classes that implement this interface.=",
          "examples": [],
          "id": "tflite::MicroMemoryPlanner",
          "kind": "class",
          "language": "cpp",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::MicroMemoryPlanner",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "MicroMemoryPlanner",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "tflite::MicroMemoryPlanner::MicroMemoryPlanner()",
              "source": {
                "line": 47,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L47"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::~MicroMemoryPlanner",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "~MicroMemoryPlanner",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "virtual tflite::MicroMemoryPlanner::~MicroMemoryPlanner()",
              "source": {
                "line": 48,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L48"
              },
              "summary": ""
            },
            {
              "description": "Pass information about a buffer's size and lifetime to the layout algorithm. The order this is called implicitly assigns an index to the result, so the buffer information that's passed into the N-th call of this method will be used as the buffer_index argument to `GetOffsetForBuffer()`.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::AddBuffer--classtflite_1_1MicroMemoryPlanner_1a8cd4f97494931f8c9757cdb621012faf",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AddBuffer",
              "params": [
                {
                  "description": "",
                  "name": "size",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "first_time_used",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "last_time_used",
                  "type": "int"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "virtual TfLiteStatus tflite::MicroMemoryPlanner::AddBuffer(int size, int first_time_used, int last_time_used) = 0",
              "source": {
                "line": 55,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L55"
              },
              "summary": "Pass information about a buffer's size and lifetime to the layout algorithm."
            },
            {
              "description": "Record details of an offline planned buffer offset we want to place. offline_offset is the buffer offset from the start of the arena. This is to support offline memory planning from the flatbuffer metadata. By default, it returns an error.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::AddBuffer--classtflite_1_1MicroMemoryPlanner_1a8b022e37bcc3d4357bf03d08c61c4d3d",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "AddBuffer",
              "params": [
                {
                  "description": "",
                  "name": "size",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "first_time_used",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "last_time_used",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "offline_offset",
                  "type": "int"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "virtual TfLiteStatus tflite::MicroMemoryPlanner::AddBuffer(\n    int size,\n    int first_time_used,\n    int last_time_used,\n    int offline_offset\n)",
              "source": {
                "line": 62,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L62"
              },
              "summary": "Record details of an offline planned buffer offset we want to place."
            },
            {
              "description": "The largest contiguous block of memory that's needed to hold the layout.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::GetMaximumMemorySize",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetMaximumMemorySize",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "virtual size_t tflite::MicroMemoryPlanner::GetMaximumMemorySize() = 0",
              "source": {
                "line": 68,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L68"
              },
              "summary": "The largest contiguous block of memory that's needed to hold the layout."
            },
            {
              "description": "How many buffers have been added to the planner.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::GetBufferCount",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetBufferCount",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "virtual int tflite::MicroMemoryPlanner::GetBufferCount() = 0",
              "source": {
                "line": 70,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L70"
              },
              "summary": "How many buffers have been added to the planner."
            },
            {
              "description": "Calculated layout offset for the N-th buffer added to the planner.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::GetOffsetForBuffer",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "GetOffsetForBuffer",
              "params": [
                {
                  "description": "",
                  "name": "buffer_index",
                  "type": "int"
                },
                {
                  "description": "",
                  "name": "offset",
                  "type": "int *"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "virtual TfLiteStatus tflite::MicroMemoryPlanner::GetOffsetForBuffer(int buffer_index, int *offset) = 0",
              "source": {
                "line": 72,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L72"
              },
              "summary": "Calculated layout offset for the N-th buffer added to the planner."
            },
            {
              "description": "Provides the scratch buffer in case that the memory planner needs it. The lifetime of scratch buffers lifetime lasts until the static memory plan is committed. The default implementation is for the memory planner that does not need scratch buffer and simply returns ok.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::Init",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "Init",
              "params": [
                {
                  "description": "",
                  "name": "scratch_buffer",
                  "type": "unsigned char *"
                },
                {
                  "description": "",
                  "name": "scratch_buffer_size",
                  "type": "int"
                }
              ],
              "raises": [],
              "returns": [],
              "signature": "virtual TfLiteStatus tflite::MicroMemoryPlanner::Init(unsigned char *scratch_buffer, int scratch_buffer_size)",
              "source": {
                "line": 79,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L79"
              },
              "summary": "Provides the scratch buffer in case that the memory planner needs it."
            },
            {
              "description": "Method will return True if the `MicroMemoryPlanner` preserves all tensors after invocation, and False if it doesn't.",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::preserves_all_tensors",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "preserves_all_tensors",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "virtual bool tflite::MicroMemoryPlanner::preserves_all_tensors() const = 0",
              "source": {
                "line": 86,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L86"
              },
              "summary": "Method will return True if the MicroMemoryPlanner preserves all tensors after invocation, and False if it doesn't."
            },
            {
              "description": "",
              "examples": [],
              "id": "tflite::MicroMemoryPlanner::PrintMemoryPlan",
              "kind": "method",
              "language": "cpp",
              "members": [],
              "name": "PrintMemoryPlan",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "virtual void tflite::MicroMemoryPlanner::PrintMemoryPlan()",
              "source": {
                "line": 88,
                "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
                "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L88"
              },
              "summary": ""
            }
          ],
          "name": "MicroMemoryPlanner",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "class MicroMemoryPlanner",
          "source": {
            "line": 45,
            "path": "tensorflow/lite/micro/memory_planner/micro_memory_planner.h",
            "url": "https://github.com/AmbiqAI/helia-rt/blob/70611e608778a432566e30965e8b4bc7ea75aa36/tensorflow/lite/micro/memory_planner/micro_memory_planner.h#L45"
          },
          "summary": "Interface class for planning the layout of memory buffers during the execution of a graph."
        }
      ]
    }
  ],
  "name": "heliaRT"
}
