Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Teuchos_dyn_cast.cpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Teuchos: Common Tools Package
4 //
5 // Copyright 2004 NTESS and the Teuchos contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #include "Teuchos_dyn_cast.hpp"
11 #include "Teuchos_Assert.hpp"
12 
18  const std::string &T_from,
19  const std::string &T_from_concr,
20  const std::string &T_to
21  )
22 {
24  true, m_bad_cast
25  ,"dyn_cast<" << T_to << ">(" << T_from
26  << ") : Error, the object with the concrete type \'"
27  << T_from_concr << "\' (passed in through the interface type \'" << T_from << "\') "
28  " does not support the interface \'"
29  << T_to << "\' and the dynamic cast failed!" );
30 }
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging.
Exception class for bad cast.
TEUCHOSCORE_LIB_DLL_EXPORT void dyn_cast_throw_exception(const std::string &T_from, const std::string &T_from_concr, const std::string &T_to)