std::experimental:: any_cast
      From cppreference.com
     
     
     
     
      
       <
       
        cpp
       
        |
       
        experimental
       
        |
       
        any
       
      
     
     
     
     | 
           
            
             template
            
            
             <
            
            
             class
            
            ValueType
            
             >
            
             ValueType any_cast ( const any & operand ) ; | (1) | (library fundamentals TS) | 
| 
           
            
             template
            
            
             <
            
            
             class
            
            ValueType
            
             >
            
             ValueType any_cast ( any & operand ) ; | (2) | (library fundamentals TS) | 
| 
           
            
             template
            
            
             <
            
            
             class
            
            ValueType
            
             >
            
             ValueType any_cast ( any && operand ) ; | (3) | (library fundamentals TS) | 
| 
           
            
             template
            
            
             <
            
            
             class
            
            ValueType
            
             >
            
             const ValueType * any_cast ( const any * operand ) noexcept ; | (4) | (library fundamentals TS) | 
| 
           
            
             template
            
            
             <
            
            
             class
            
            ValueType
            
             >
            
             ValueType * any_cast ( any * operand ) noexcept ; | (5) | (library fundamentals TS) | 
Performs type-safe access to the contained object.
       For
       
        (1-3)
       
       , the program is ill-formed if
       
        ValueType
       
       is not a reference and
       
        
         
          
           std::
           
            is_copy_constructible
           
          
         
         
          <
         
         ValueType
         
          >
         
         
          ::
         
         
          value
         
        
       
       is
       
        
         
          false
         
        
       
       .
      
Parameters
| operand | - | target 
          any
         object | 
Return value
       
        1)
       
       Returns
       
        
         
          *
         
         any_cast
         
          <
         
         
          
           std::
           
            add_const_t
           
          
         
         
          <
         
         
          
           std::
           
            remove_reference_t
           
          
         
         
          <
         
         ValueType
         
          >>>
         
         
          (
         
         
          &
         
         operand
         
          )
         
        
       
       .
      
      
       
        2,3)
       
       Returns
       
        
         
          *
         
         any_cast
         
          <
         
         
          
           std::
           
            remove_reference_t
           
          
         
         
          <
         
         ValueType
         
          >>
         
         
          (
         
         
          &
         
         operand
         
          )
         
        
       
       .
      
      
       
        4,5)
       
       If
       
        
         operand
        
       
       is not a null pointer, and the
       
      
        typeid
       
       of the requested
       
        ValueType
       
       matches that of the contents of
       
        
         operand
        
       
       , a pointer to the value contained by
       
        
         operand
        
       
       , otherwise a null pointer.
      Exceptions
       
        1-3)
       
       Throws
       
      
      
     
        bad_any_cast
       
       if the
       
        typeid
       
       of the requested
       
        ValueType
       
       does not match that of the contents of
       
        
         operand
        
       
       .