litert::CustomOpKernel
This is an abstract class.
Summary
Public functions
Destroy
virtual Expected< void > Destroy()=0
GetLiteRtCustomOpKernel
LiteRtCustomOpKernel & GetLiteRtCustomOpKernel()
GetOutputLayouts
virtual Expected< void > GetOutputLayouts(
const std::vector< Layout > & input_layouts,
std::vector< Layout > & output_layouts
)=0
Init
virtual Expected< void > Init(
const void *init_data,
size_t init_data_size
)=0
OpName
virtual const std::string & OpName() const =0
OpVersion
virtual int OpVersion() const =0
~CustomOpKernel
virtual ~CustomOpKernel()=default
Protected functions
CustomOpKernel
CustomOpKernel()
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-14 UTC."],[],[],null,["# litert::CustomOpKernel Class Reference\n\nlitert::CustomOpKernel\n======================\n\n\n**This is an abstract class.**\n\nSummary\n-------\n\n| ### Constructors and Destructors ||\n|---|---|\n| [~CustomOpKernel](#classlitert_1_1_custom_op_kernel_1aab90d6327fd61575e715857389cf8f52)`()` ||\n\n| ### Public functions ||\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|\n| [Destroy](#classlitert_1_1_custom_op_kernel_1a650780982c2db8ebaa07fe4a5644a9a5)`()=0` | `virtual `[Expected](/edge/api/litert/c/classlitert/1-1-expected#classlitert_1_1_expected)`\u003c void \u003e` |\n| [GetLiteRtCustomOpKernel](#classlitert_1_1_custom_op_kernel_1ab8d94cd3100270b70162ea8073c3845f)`()` | `LiteRtCustomOpKernel &` |\n| [GetOutputLayouts](#classlitert_1_1_custom_op_kernel_1a017babc31604375e2bd33d64953b6918)`(const std::vector\u003c `[Layout](/edge/api/litert/c/classlitert/1-1-layout#classlitert_1_1_layout)` \u003e & input_layouts, std::vector\u003c `[Layout](/edge/api/litert/c/classlitert/1-1-layout#classlitert_1_1_layout)` \u003e & output_layouts)=0` | `virtual `[Expected](/edge/api/litert/c/classlitert/1-1-expected#classlitert_1_1_expected)`\u003c void \u003e` |\n| [Init](#classlitert_1_1_custom_op_kernel_1afbf52175a6d5a0f476888896a3d46096)`(const void *init_data, size_t init_data_size)=0` | `virtual `[Expected](/edge/api/litert/c/classlitert/1-1-expected#classlitert_1_1_expected)`\u003c void \u003e` |\n| [OpName](#classlitert_1_1_custom_op_kernel_1a1f167627c6a168d33db4f3c51bb91b57)`() const =0` | `virtual const std::string &` |\n| [OpVersion](#classlitert_1_1_custom_op_kernel_1a32fad7438ee1d3e13b0d771221fa57f5)`() const =0` | `virtual int` |\n| [Run](#classlitert_1_1_custom_op_kernel_1a800fdb027033047378b515911ecf03d0)`(const std::vector\u003c `[TensorBuffer](/edge/api/litert/c/classlitert/1-1-tensor-buffer#classlitert_1_1_tensor_buffer)` \u003e & inputs, std::vector\u003c `[TensorBuffer](/edge/api/litert/c/classlitert/1-1-tensor-buffer#classlitert_1_1_tensor_buffer)` \u003e & outputs)=0` | `virtual `[Expected](/edge/api/litert/c/classlitert/1-1-expected#classlitert_1_1_expected)`\u003c void \u003e` |\n\n| ### Protected functions ||\n|--------------------------------------------------------------------------------------------|---|\n| [CustomOpKernel](#classlitert_1_1_custom_op_kernel_1a85753103b80fbea7663c708d765c4836)`()` | |\n\nPublic functions\n----------------\n\n### Destroy\n\n```text\nvirtual Expected\u003c void \u003e Destroy()=0\n``` \n\n### GetLiteRtCustomOpKernel\n\n```text\nLiteRtCustomOpKernel & GetLiteRtCustomOpKernel()\n``` \n\n### GetOutputLayouts\n\n```gdscript\nvirtual Expected\u003c void \u003e GetOutputLayouts(\n const std::vector\u003c Layout \u003e & input_layouts,\n std::vector\u003c Layout \u003e & output_layouts\n)=0\n``` \n\n### Init\n\n```gdscript\nvirtual Expected\u003c void \u003e Init(\n const void *init_data,\n size_t init_data_size\n)=0\n``` \n\n### OpName\n\n```gdscript\nvirtual const std::string & OpName() const =0\n``` \n\n### OpVersion\n\n```gdscript\nvirtual int OpVersion() const =0\n``` \n\n### Run\n\n```gdscript\nvirtual Expected\u003c void \u003e Run(\n const std::vector\u003c TensorBuffer \u003e & inputs,\n std::vector\u003c TensorBuffer \u003e & outputs\n)=0\n``` \n\n### \\~CustomOpKernel\n\n```text\nvirtual ~CustomOpKernel()=default\n``` \n\nProtected functions\n-------------------\n\n### CustomOpKernel\n\n```text\n CustomOpKernel()\n```"]]