Protocol

Node:Protocol, Next:Classes, Previous:Class group, Up:Top

# Protocols

## Hierarchy of Protocols

`PObject`
  The protocol implemented by all the other protocols. This protocol defines the methods for allocation, initialization, deallocation and releasing object.
  `PAllocator`
    This protocol operates the dynamic memory object. If the memory object containes two or more element, it is called "SetMemory" against "SingleMemory". If you require the dynamic allocated memory, use this protocol or sub protocols inherit this one.
    `PGrowableAllocator`
      This protocol concatenate the memory object to the current one. The size of single memory object will be increase, never decrease.
    `PSetAllocator`
      Operates the set of memory objects. The new object can be added to the set. And any objects can be removed from the set.
  `PIndent`
    The usage of this protocol is very limited. The indented text has some spaces at the start of the line. This protocol is used to operate the spaces.
  `POptParser`
    This protocol define the interface for the command line option parser.
  `PWidget`
    This protocol defines the interface of the GUI widget.