1 #ifndef _TEMPLATE_ARGS_H_
2 #define _TEMPLATE_ARGS_H_
3 
4 template <typename T>
5 struct Bar {
refBar6     Bar & ref() { return *this; }
const_refBar7     const Bar & const_ref() { return *this; }
const_ref_constBar8     const Bar & const_ref_const() const { return *this; }
9     T value;
10 };
11 
12 template <typename T>
13 struct Foo {
bar_valueFoo14     int bar_value(const Bar<int> & bar) { return bar.value; }
15 };
16 
17 #endif
18