OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.brendan/] [template11.C] - Blame information for rev 699

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 699 jeremybenn
// { dg-do assemble  }
2
// GROUPS passed templates
3
template 
4
class aCallback
5
{
6
public:
7
  aCallback(Called& obj, int (Called::*met)());
8
 
9
  int callback();
10
 
11
protected:
12
 
13
private:
14
  // the object to call
15
  Called&       object;
16
 
17
  // the method to apply
18
  int (Called::*method)();
19
 
20
};
21
 
22
template 
23
aCallback::aCallback(Called& obj,
24
                             int (Called::*met)()) :
25
object(obj),
26
method(met)
27
{}
28
 
29
template 
30
int aCallback::callback()
31
{
32
  return (object.*method)();
33
}
34
 
35
struct myStruct
36
{
37
  int action() {return 24;}
38
};
39
 
40
int main()
41
{
42
  myStruct toto;
43
 
44
  aCallback   cb(toto, &myStruct::action);
45
 
46
  return cb.callback();
47
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.