7 #include "Panzer_TpetraLinearObjFactory.hpp" 
   35   using Teuchos::rcp_dynamic_cast;
 
   37   using Teuchos::ptr_dynamic_cast;
 
   38   using Teuchos::ptrFromRef;
 
   63   Ptr<const TpetraLOF> tpetra_lof = ptr_dynamic_cast<
const TpetraLOF>(ptrFromRef(lof));
 
   64   if(tpetra_lof!=null) {
 
   65     auto rangeUGI  = (rUgi==null ? tpetra_lof->getRangeGlobalIndexer() : rUgi);
 
   66     auto domainUGI = (dUgi==null ? tpetra_lof->getDomainGlobalIndexer() : dUgi);
 
   69     return rcp(
new TpetraLOF(mpiComm,rangeUGI,domainUGI));
 
   72   Ptr<const BlockedEpetraLOF> blk_epetra_lof = ptr_dynamic_cast<
const BlockedEpetraLOF>(ptrFromRef(lof));
 
   73   if(blk_epetra_lof!=null) {
 
   74     auto rangeUGI  = (rUgi==null ? blk_epetra_lof->getRangeGlobalIndexer() : rUgi);
 
   75     auto domainUGI = (dUgi==null ? blk_epetra_lof->getDomainGlobalIndexer() : dUgi);
 
   77     return rcp(
new BlockedEpetraLOF(mpiComm,rangeUGI,domainUGI));
 
   80   Ptr<const BlockedTpetraLOF> blk_tpetra_lof = ptr_dynamic_cast<
const BlockedTpetraLOF>(ptrFromRef(lof));
 
   81   if(blk_tpetra_lof!=null) {
 
   83                                "panzer::cloneWithNewRangeAndDomain: Blocked Tpetra LOF does not yet support " 
   84                                "different range and domain indexers!");
 
   88                              "panzer::cloneWithNewRangeAndDomain: Could not determine the type of LOF, clone not support!");
 
Teuchos::RCP< const LinearObjFactory< panzer::Traits > > cloneWithNewDomain(const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &dUgi)
Clone a linear object factory, but using a different domain. 
 
Teuchos::RCP< const LinearObjFactory< panzer::Traits > > cloneWithNewRangeAndDomain(const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &rUgi, const Teuchos::RCP< const GlobalIndexer > &dUgi)
Clone a linear object factory, but using a different range and domain. 
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
Teuchos::RCP< const LinearObjFactory< panzer::Traits > > cloneWithNewRange(const LinearObjFactory< panzer::Traits > &lof, const Teuchos::RCP< const GlobalIndexer > &rUgi)
Clone a linear object factory, but using a different range.