Exemple #1
0
PyObject *
test(PyObject *self, PyObject *args)
{
    FooObject *f = make_foo(42);
    if (NULL == f) {
        return NULL; /* we assume an exception was set by make_foo() */
    }
    Py_DECREF(f);

    Py_RETURN_NONE;
}
Exemple #2
0
int main(void) {
  struct object *p;
  struct methods *mtable;
  void (*p_reset) (struct object *self);
  int (*p_twiddle) (struct object *self, int i);
  int i;

  /* Create a [foo] object */
  p = make_foo();

  /* Do a dynamic method call to the [reset] method */  
  mtable = p->mtable;
  p_reset = mtable->reset;
  p_reset(p);

  /* Do a dynamic method call to the [twiddle] method */  
  mtable = p->mtable;
  p_twiddle = mtable->twiddle;
  i = p_twiddle(p,3);

  /* Done. */
  return i;
}
Exemple #3
0
int main()
{
    auto x = make_foo();
}
Exemple #4
0
int main()
{
    f = make_foo([] { return 42; });
    return f.func();
}
Exemple #5
0
#include <utility>

template<typename Func>
struct foo {
    Func func;
};

template<typename Func>
foo<Func> make_foo(Func func)
{ return { std::move(func) }; }

auto f = make_foo([] {  });
    
int main()
{
    f = make_foo([] { return 42; });
    return f.func();
}
Exemple #6
0
int main()
{
    make_foo(1 + 1);

    make_foo2(1 + 1);
}
Exemple #7
0
DEF_TEST(sk_make_sp, r) {
    auto x = make_foo();
}