class_docstr: Represents a storage object for other objects (specifically functions) keyed to a name with a description.
  
  These objects act as global named places for storing components for objects parameterised by component names.
  Typically this is functions although other objects can be added. Printing a component store will produce a
  list of members along with their docstring information if present.
  
  Example:
  
  .. code-block:: python
  
      TestStore = ComponentStore("Test Store", "A test store for demo purposes")
  
      @TestStore.add_def("my_func_name", "Some description of your function")
      def _my_func(a, b):
          '''A description of your function here.'''
          return a * b
  
      print(TestStore)  # will print out name, description, and 'my_func_name' with the docstring
  
      func = TestStore["my_func_name"]
      result = func(7, 6)
class_docstr_tok: ["Represents","a","storage","object","for","other","objects","(","specifically","functions",")","keyed","to","a","name","with","a","description",".","These","objects","act","as","global","named","places","for","storing","components","for","objects","parameterised","by","component","names",".","Typically","this","is","functions","although","other","objects","can","be","added",".","Printing","a","component","store","will","produce","a","list","of","members","along","with","their","docstring","information","if","present",".","Example",":","..","code-block",":",":","python","TestStore","=","ComponentStore","(","``","Test","Store","''",",","``","A","test","store","for","demo","purposes","''",")","@","TestStore.add_def","(","``","my_func_name","''",",","``","Some","description","of","your","function","''",")","def","_my_func","(","a",",","b",")",":","``","'","A","description","of","your","function","here",".","''","'","return","a","*","b","print","(","TestStore",")","#","will","print","out","name",",","description",",","and","'my_func_name","'","with","the","docstring","func","=","TestStore","[","``","my_func_name","''","]","result","=","func","(","7",",","6",")"]
docstr: Returns a decorator which stores the decorated function under `name` with description `desc`.
docstr_tok: ["Returns","a","decorator","which","stores","the","decorated","function","under","`","name","`","with","description","`","desc","`","."]
code: def add_def(self, name: str, desc: str) -> Callable:
      """Returns a decorator which stores the decorated function under `name` with description `desc`."""
  
      def deco(func):
          """Decorator to add a function to a store."""
          return self.add(name, desc, func)
  
      return deco
  
file_path: MONAI/monai/utils/component_store.py
imports: from __future__ import annotations
  from collections import namedtuple
  from keyword import iskeyword
  from textwrap import dedent, indent
  from typing import Any, Callable, Iterable, TypeVar
label_desc: Use image node_id 3 for calling the ComponentStore obj's underlying member method code with example usage: obj.add_def(name, desc) and returns: deco, self