47 #ifndef __Teko_CloneFactory_hpp__
48 #define __Teko_CloneFactory_hpp__
50 #include "Teuchos_RCP.hpp"
66 virtual Teuchos::RCP<Cloneable>
clone()
const = 0;
92 template <
class CloneType,
class BaseType=AutoCloneDummy>
111 virtual Teuchos::RCP<Cloneable>
clone()
const
128 template <
class CloneBaseType>
153 virtual Teuchos::RCP<CloneBaseType>
build(
const std::string & str)
const
155 std::map<std::string,Teuchos::RCP<const Cloneable> >::const_iterator itr
158 return Teuchos::rcp_dynamic_cast<CloneBaseType>(itr->second->clone(),
true);
170 virtual void addClone(
const std::string & str,
const Teuchos::RCP<Cloneable> & clone)
183 std::map<std::string,Teuchos::RCP<const Cloneable> >::const_iterator itr;
185 names.push_back(itr->first);