27 return 100 * x + 10 * y + z;
46 return 1000 + 100 * x + 10 * y + z;
49 return 2000 + 100 * x + 10 * y + z;
52 return 3000 + 100 *
x + 10 *
y +
z;
56 TEST(Partial, ReferenceArguments) {
57 auto p0 =
partial(&Foo::method, Foo{}, 2, 3);
61 auto const p1 =
partial(&Foo::constMethod, Foo{}, 3, 4);
64 auto p2 =
partial(&Foo::tempMethod, Foo{}, 4, 5);
70 return 1000 + 100 *
x + 10 *
y +
z;
73 return 2000 + 100 *
x + 10 *
y +
z;
76 return 3000 + 100 *
x + 10 *
y +
z;
82 auto const& pconst = p;
91 return 1000 + 100 *
x + 10 *
y +
z;
94 return 2000 + 100 *
x + 10 *
y +
z;
97 return 3000 + 100 *
x + 10 *
y +
z;
103 auto const& pconst = p;
110 std::unique_ptr<int>
calc_uptr(std::unique_ptr<int>
x, std::unique_ptr<int>
y) {
111 *x = 100 * *x + 10 * *y;
116 auto five = std::make_unique<int>(5);
117 auto six = std::make_unique<int>(6);
137 TEST(Partial, WrapInStdFunction) {
139 std::function<int(int, int)> func = p1;
143 TEST(Partial, WrapInFollyFunction) {
int operator()(int const &x, int y, int z) const &
int operator()(int x, int y, int z)&
int operator()(int x, int y, int z) const &
#define EXPECT_EQ(val1, val2)
int add3(int x, int y, int z)
constexpr detail::Map< Move > move
int method(int &x, int &y, int &z)
int operator()(int x, int y, int z)&&
auto partial(F &&f, Args &&...args) -> detail::partial::Partial< typename std::decay< F >::type, std::tuple< typename std::decay< Args >::type... >>
int operator()(int &&x, int const &y, int z)&&
int constMethod(int const &x, int const &y, int const &z) const
std::unique_ptr< int > calc_uptr(std::unique_ptr< int > x, std::unique_ptr< int > y)
moveonly_::MoveOnly MoveOnly
#define EXPECT_FALSE(condition)
int tempMethod(int &&x, int &&y, int &&z)
int operator()(int &x, int const &y, int z)&