exception_routine_rep Class Reference

Inheritance diagram for exception_routine_rep:
routine_rep rep_struct

List of all members.

Public Member Functions

Public Attributes


Detailed Description

Definition at line 28 of file overload.cpp.


Constructor & Destructor Documentation

exception_routine_rep (  )  [inline]

Definition at line 31 of file overload.cpp.

00031 : routine_rep (GEN_ERROR) {}

exception_routine_rep ( const generic f  )  [inline]

Definition at line 32 of file overload.cpp.

00032                                           :
00033     routine_rep (GEN_ERROR), ex_name (f) {}
  generic apply (const vector<generic>& v) const {


Member Function Documentation

generic apply ( const vector< generic > &  v  )  const [inline, virtual]

Reimplemented from routine_rep.

Definition at line 34 of file overload.cpp.

References mmx::error_message(), mmx::flatten_as_mmx(), mmx::gen(), mmx::N(), routine_rep::name, and mmx::type_name().

00034                                                  {
00035     vector<generic> t (generic (), N(v));
00036     for (nat i=0; i<N(v); i++)
00037       if (is<exception> (v[i])) return v[i];
00038     for (nat i=0; i<N(v); i++) 
00039       t[i]= type_name (v[i]);
00040     string msg= string ("invalid function application ")
00041       * flatten_as_mmx (gen (name, gen (ex_name, t)));
00042 #ifdef BASIX_ENABLE_EXCEPTIONS
00043     throw error_message (msg);
00044 #else
00045     assert (false);
00046 #endif
00047     return gen (name, gen (ex_name, v)); }

vector<nat> signature (  )  const [inline, virtual]

Reimplemented from routine_rep.

Definition at line 48 of file overload.cpp.

00048 { return vec<nat> (); }


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

Generated on 6 Dec 2012 for mmxlight by  doxygen 1.6.1