, , template:
template<typename T>
int do_outer(T& val)
{
int i;
val.get_inner().get<int>(i);
return i;
}
, , val. val.get_inner().get(i) :
1: val .
. , 'val' , - - .
2. val . get_inner (
get_inner - , (. , get_inner - , . , ).
3. val . get_inner () .
, , get_inner , , - .
4. val . get_inner () . get <
, <? , ... , , , ?
, get . , < , . , , , < template-name, < (14.2/3):
(3.4) , , <, < - , .
, val.get_inner(), get. , -, -. '& ;' , , , get int - , .
, ?
template
, get , < .
-
do_outer , : val . get_inner () . get ( , get . ( , . .