blob: 4d47f283317e6ee521c22c4031df67ef3bc6d66e [file] [log] [blame]
/*=============================================================================
Copyright (c) 2007 Tobias Schwinger
Use modification and distribution are subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
==============================================================================*/
#include <boost/functional/factory.hpp>
#include <boost/detail/lightweight_test.hpp>
#include <memory>
class sum
{
int val_sum;
public:
sum(int a, int b) : val_sum(a + b) { }
operator int() const { return this->val_sum; }
};
int main()
{
int one = 1, two = 2;
{
sum* instance( ndnboost::factory< sum* >()(one,two) );
BOOST_TEST(*instance == 3);
}
{
std::auto_ptr<sum> instance( ndnboost::factory< std::auto_ptr<sum> >()(one,two) );
BOOST_TEST(*instance == 3);
}
return ndnboost::report_errors();
}