Public Member Functions | Public Attributes

REP_STRUCT Class Reference

List of all members.

Public Member Functions

Public Attributes


Detailed Description

Definition at line 71 of file glue_class.cpp.


Member Function Documentation

vector<generic> contents (  ) const [inline]

Definition at line 90 of file glue_class.cpp.

                                    {
    return vector<generic> (entries (exports));
  }
module_rep ( const generic &  name2 ) [inline]

Definition at line 77 of file glue_class.cpp.

                                          :
    name (name2),
    env (get_environment (current_ev)),
    exports (vec<generic> ()) {}
void overload ( const generic &  var,
const generic &  val 
) const [inline]

Definition at line 81 of file glue_class.cpp.

                                                               {
    module_rep* me= const_cast<module_rep*> (this);
    if (is<routine> (val)) {
      if (!exports->contains (var) || !is<routine> (exports[var][0]))
        me->exports[var]= vec<generic> ();
      me->exports[var] << val;
    }
    else me->exports[var]= vec<generic> (val);
  }
generic resolve ( const generic &  var ) const [inline]

Definition at line 93 of file glue_class.cpp.

References mmx::overloaded_routine().

                                             {
    vector<generic> v= exports[var];
    if (N(v) == 0)
      return std_exception ("undefined symbol in module", var);
    else if (N(v) == 1) return v[0];
    else {
      routine r= overloaded_routine (var, env);
      for (nat i=0; i<N(v); i++)
        r->overload (as<routine> (v[i]));
      return as<generic> (r);
    }
  }

Member Data Documentation

Definition at line 74 of file glue_class.cpp.

table<vector<generic>,generic> exports

Definition at line 75 of file glue_class.cpp.

generic name

Definition at line 73 of file glue_class.cpp.


The documentation for this class was generated from the following file: