std::nullopt_t
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <optional> | ||
| struct nullopt_t {}; | (since C++14) | |
std::nullopt_t is an empty class type used to indicate optional type with uninitialized state. 
[edit] See also
| (C++14) | an object of type nullopt_t(function) | 


