|  | 
        A handler must meet the requirements of CopyConstructible
        types (C++ Std, 20.1.3).
      
        In the table below, X denotes
        a handler class, h denotes
        a value of X, p denotes a pointer to a block of allocated
        memory of type void*,
        s denotes the size for a
        block of allocated memory, and f
        denotes a function object taking no arguments.
      
Table 13. Handler requirements
| expression | return type | 
                  assertion/note | 
|---|---|---|
| 
 using asio::asio_handler_allocate; asio_handler_allocate(s, &h); 
 | 
                   | 
                  Returns a pointer to a block of memory of size  | 
| 
 using asio::asio_handler_deallocate; asio_handler_deallocate(p, s, &h); 
 | 
                  Frees a block of memory associated with a pointer  | |
| 
 using asio::asio_handler_invoke; asio_handler_invoke(f, &h); 
 | 
                  Causes the function object  |