Skip to content
Snippets Groups Projects
Commit dc3ca07f authored by Jan Trávníček's avatar Jan Trávníček
Browse files

abstraction: more shared_ptr -> unique_ptr

parent 3804db04
No related branches found
No related tags found
1 merge request!208Merge jt
......@@ -14,7 +14,7 @@ class UnspecifiedType {
 
template < size_t NumberOfParams >
class WrapperAbstractionImpl : public OperationAbstraction {
std::shared_ptr < OperationAbstraction > m_abstraction;
std::unique_ptr < OperationAbstraction > m_abstraction;
ext::array < std::shared_ptr < abstraction::Value >, NumberOfParams > m_params;
 
protected:
......@@ -22,13 +22,13 @@ protected:
return m_params;
}
 
virtual std::shared_ptr < abstraction::OperationAbstraction > evalAbstractionFunction ( ) = 0;
virtual std::unique_ptr < abstraction::OperationAbstraction > evalAbstractionFunction ( ) = 0;
 
std::shared_ptr < OperationAbstraction > & getAbstraction ( ) {
std::unique_ptr < OperationAbstraction > & getAbstraction ( ) {
return m_abstraction;
}
 
const std::shared_ptr < OperationAbstraction > & getAbstraction ( ) const {
const std::unique_ptr < OperationAbstraction > & getAbstraction ( ) const {
return m_abstraction;
}
 
......@@ -106,13 +106,13 @@ namespace abstraction {
 
template < class ... ParamTypes >
class WrapperAbstraction : public WrapperAbstractionImpl < sizeof ... ( ParamTypes ) > {
std::function < std::shared_ptr < abstraction::OperationAbstraction > ( ParamTypes ... ) > m_WrapperFinder;
std::function < std::unique_ptr < abstraction::OperationAbstraction > ( ParamTypes ... ) > m_WrapperFinder;
 
public:
explicit WrapperAbstraction ( std::function < std::shared_ptr < abstraction::OperationAbstraction > ( ParamTypes ... ) > wrapperFinder ) : m_WrapperFinder ( std::move ( wrapperFinder ) ) {
explicit WrapperAbstraction ( std::function < std::unique_ptr < abstraction::OperationAbstraction > ( ParamTypes ... ) > wrapperFinder ) : m_WrapperFinder ( std::move ( wrapperFinder ) ) {
}
 
std::shared_ptr < abstraction::OperationAbstraction > evalAbstractionFunction ( ) override {
std::unique_ptr < abstraction::OperationAbstraction > evalAbstractionFunction ( ) override {
return abstraction::apply < ParamTypes ... > ( m_WrapperFinder, this->getParams ( ) );
}
 
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment