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