docstr: Register a template "optimizer".
  
  E.g., function call template or op configuration template.
  
  Args:
      template_cls (class): Template to register.
docstr_tok: ["Register","a","template","``","optimizer","''",".","E.g.",",","function","call","template","or","op","configuration","template",".","Args",":","template_cls","(","class",")",":","Template","to","register","."]
code: def register_template(self, template_cls):
      """Register a template "optimizer".
  
      E.g., function call template or op configuration template.
  
      Args:
          template_cls (class): Template to register.
      """
      template = template_cls()
      register_pass(template.get_name(), template, backend=self.name)
  
imports: import inspect
  import os
  from pathlib import Path
  from hls4ml.backends.template import Template
  from hls4ml.model.flow import get_backend_flows, update_flow
  from hls4ml.model.optimizer import LayerOptimizerPass, extract_optimizers_from_object, extract_optimizers_from_path, get_backend_passes, get_optimizer, register_pass
label_desc: Use image node_id 14 for calling the Backend obj's underlying member method code with example usage: obj.register_template(template_cls) without return types