blob: 8a8e39f6fce39026bc6ddb18969990c3f90696d7 [file] [log] [blame]
#include <boost/parameter.hpp>
namespace test {
BOOST_PARAMETER_NAME(title)
BOOST_PARAMETER_NAME(width)
BOOST_PARAMETER_NAME(titlebar)
BOOST_PARAMETER_FUNCTION((int), new_window, tag,
(required (title,*)(width,*)(titlebar,*))
)
{
return 0;
}
BOOST_PARAMETER_TEMPLATE_KEYWORD(deleter)
BOOST_PARAMETER_TEMPLATE_KEYWORD(copy_policy)
template <typename T>
struct Deallocate
{
};
struct DeepCopy
{
};
struct Foo
{
};
template <typename T, typename A0, typename A1>
struct smart_ptr
{
smart_ptr(test::Foo*)
{
}
};
}
#include <boost/core/lightweight_test.hpp>
int main()
{
char const* alert_s = "alert";
int x = test::new_window(alert_s, test::_width=10, test::_titlebar=false);
test::Foo* foo = new test::Foo();
test::smart_ptr<
test::Foo
, test::deleter<test::Deallocate<test::Foo> >
, test::copy_policy<test::DeepCopy>
> p(foo);
delete foo;
return boost::report_errors();
}