13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
-
+
-
+
|
Value Bridge< parse::Rule >::ToValue( parse::Rule&& r )
{
ptr< void > prule = make_shared< parse::Rule >( move( r ) );
return Value( Type(), TERM( move( prule ) ) );
}
ptr< parse::Rule > Bridge< parse::Rule >::FromValue( const Value& v )
optional< ptr< parse::Rule > > Bridge< parse::Rule >::FromValue( const Value& v )
{
if( v.type() != Type() )
return nullptr;
return nullopt;
const auto& content = v.val().content();
const auto& p = get< ptr< void > >( content );
return static_pointer_cast< parse::Rule >( p );
}
}
|