Goose  Diff

Differences From Artifact [cfbfbe79d1]:

  • File bs/g0api/extensibility/typewrappers.cpp — part of check-in [29872be1f2] at 2021-09-15 01:02:20 on branch trunk — More work on the extensibility api (user: achavasse size: 2948)

To Artifact [1c1c6e061d]:

  • File bs/g0api/extensibility/typewrappers.cpp — part of check-in [967d3ba3d7] at 2021-09-16 19:00:02 on branch trunk — More work on the g0 EIR api (user: achavasse size: 3106)

41
42
43
44
45
46
47



48
49
50
51
52
53
54
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57







+
+
+








namespace goose::g0api
{
    void SetupTypeWrappers( Env& e )
    {
        auto pEquals = GetOverloadSet( e, "operator_equals"_sid );
        auto pNotEquals = GetOverloadSet( e, "operator_not_equals"_sid );

        // We need to be able to create empty terms to be filled later by GetVecTerm
        DefineConstant( e, "Term"_sid, GetValueType< TermWrapper >() );

        // Equality operator for term wrapper
        RegisterBuiltinFunc< bool ( TermWrapper, TermWrapper ) >( e, pEquals,
            []( const TermWrapper& lhs, const TermWrapper& rhs )
            {
                return lhs.get() == rhs.get();
            } );