MCPcopy Create free account
hub / github.com/davisking/dlib / add_functor

Class add_functor

dlib/test/thread_pool.cpp:31–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29 int global_var = 0;
30
31 struct add_functor
32 {
33 add_functor() { var = 1;}
34 add_functor(int v):var(v) {}
35
36 template <typename T, typename U, typename V>
37 void operator()(T a, U b, V& res)
38 {
39 dlib::sleep(20);
40 res = a + b;
41 }
42
43 void set_global_var() { global_var = 9; }
44 void set_global_var_const() const { global_var = 9; }
45
46 void set_global_var_arg1(int val) { global_var = val; }
47 void set_global_var_const_arg1(int val) const { global_var = val; }
48 void set_global_var_arg2(int val, int val2) { global_var = val+val2; }
49 void set_global_var_const_arg2(int val, int val2) const { global_var = val+val2; }
50
51 void operator()()
52 {
53 global_var = 9;
54 }
55
56 // use an any just so that if this object goes out of scope
57 // then var will get all messed up.
58 any var;
59 void operator()(int& a) { dlib::sleep(100); a = var.get<int>(); }
60 void operator()(int& a, int& b) { dlib::sleep(100); a = var.get<int>(); b = 2; }
61 void operator()(int& a, int& b, int& c) { dlib::sleep(100); a = var.get<int>(); b = 2; c = 3; }
62 void operator()(int& a, int& b, int& c, int& d) { dlib::sleep(100); a = var.get<int>(); b = 2; c = 3; d = 4; }
63 };
64
65
66 void set_global_var() { global_var = 9; }

Callers 1

perform_testMethod · 0.85

Calls

no outgoing calls

Tested by 1

perform_testMethod · 0.68