quintary_routine_rep< void, S1, S2, S3, S4, S5 > Class Template Reference

#include <routine.hpp>

Inheritance diagram for quintary_routine_rep< void, S1, S2, S3, S4, S5 >:
routine_rep rep_struct

List of all members.

Public Member Functions

Public Attributes


Detailed Description

template<typename S1, typename S2, typename S3, typename S4, typename S5>
class mmx::quintary_routine_rep< void, S1, S2, S3, S4, S5 >

Definition at line 401 of file routine.hpp.


Constructor & Destructor Documentation

quintary_routine_rep ( const generic name,
function_type  fun2 
) [inline]

Definition at line 406 of file routine.hpp.

00406                                                                 :
00407     routine_rep (name), fun (fun2) {}
  generic apply (const vector<generic>& v) const {


Member Function Documentation

generic apply ( const generic g1,
const generic g2 
) const [virtual, inherited]

Reimplemented in binary_routine_rep< D, S1, S2 >, binary_routine_rep< void, S1, S2 >, composed_routine_rep, change_signature_routine_rep, and integrate_routine_rep.

Definition at line 47 of file routine.cpp.

References routine_rep::apply().

00047                                                               {
00048   return apply (vec<generic> (g1, g2));
00049 }

generic apply ( const generic g1  )  const [virtual, inherited]

Reimplemented in unary_routine_rep< D, S1 >, unary_routine_rep< void, S1 >, identity_routine_rep, composed_routine_rep, change_signature_routine_rep, and integrate_routine_rep.

Definition at line 42 of file routine.cpp.

References routine_rep::apply().

00042                                            {
00043   return apply (vec<generic> (g1));
00044 }

generic apply (  )  const [virtual, inherited]

Reimplemented in nullary_routine_rep< void >, change_signature_routine_rep, and integrate_routine_rep.

Definition at line 37 of file routine.cpp.

Referenced by routine_rep::apply().

00037                           {
00038   return apply (vec<generic> ());
00039 }

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

Reimplemented from routine_rep.

Definition at line 408 of file routine.hpp.

References ASSERT, mmx::N(), and mmx::void_value().

00408                                                  {
00409     ASSERT (N(v) == 4, "four arguments expected");
00410     fun (make_concrete<S1> (v[0]),
00411          make_concrete<S2> (v[1]),
00412          make_concrete<S3> (v[2]),
00413          make_concrete<S4> (v[3]),
00414          make_concrete<S4> (v[4]));
00415     return void_value ();
00416   }

routine clone (  )  const [virtual, inherited]

Definition at line 91 of file routine.cpp.

References ERROR.

00091                           {
00092   ERROR ("not implemented (clone)");
00093   return routine (this, true);
00094 }

generic function_body (  )  const [virtual, inherited]

Definition at line 81 of file routine.cpp.

00081                                   {
00082   return "native";
00083 }

generic function_type (  )  const [virtual, inherited]

Definition at line 86 of file routine.cpp.

References mmx::gen(), mmx::GEN_FUNCTION_TYPE, routine_rep::signature(), and mmx::type_name().

00086                                   {
00087   return gen (GEN_FUNCTION_TYPE, type_name (signature ()));
00088 }

bool is_overloaded (  )  const [virtual, inherited]

Definition at line 71 of file routine.cpp.

00071                                   {
00072   return false;
00073 }

vector< routine > meanings (  )  const [virtual, inherited]

Definition at line 76 of file routine.cpp.

References ERROR.

00076                              {
00077   ERROR ("not implemented (meanings)");
00078 }

void overload ( const routine fun  )  const [virtual, inherited]

Definition at line 66 of file routine.cpp.

References ERROR.

00066                                                {
00067   ERROR ("not implemented (overload)");
00068 }

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

Reimplemented from routine_rep.

Definition at line 417 of file routine.hpp.

00417                                  {
00418     return vec<nat> ((nat) 0,
00419                      type_information<S1>::id,
00420                      type_information<S2>::id,
00421                      type_information<S3>::id,
00422                      type_information<S4>::id,
00423                      type_information<S5>::id);
00424   }


Member Data Documentation

generic name [inherited]

Definition at line 64 of file routine.hpp.

Referenced by routine_rep::apply().

MMX_ALLOCATORS int ref_count [inherited]

Definition at line 164 of file basix.hpp.


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

Generated on 6 Dec 2012 for basix by  doxygen 1.6.1