20class UnsupportedTypeException : 
public std::exception  {
 
   26    explicit UnsupportedTypeException(std::string msg) : d_msg(std::move(msg)){};
 
   27    UnsupportedTypeException() = 
delete;
 
   28    UnsupportedTypeException(
const UnsupportedTypeException &e) 
noexcept = 
default;
 
   29    UnsupportedTypeException(UnsupportedTypeException &&e) 
noexcept = 
default;
 
   30    ~UnsupportedTypeException() 
override = 
default;
 
   32    UnsupportedTypeException& operator=(UnsupportedTypeException &&e) 
noexcept = 
default;
 
   33    UnsupportedTypeException& operator=(
const UnsupportedTypeException &e) = 
default;
 
   35    const char* what() 
const noexcept override { 
return d_msg.c_str(); };