generic_object_rep Class Reference

Inheritance diagram for generic_object_rep:
generic_rep rep_struct

List of all members.

Public Member Functions

Public Attributes

Protected Member Functions

Friends


Detailed Description

Definition at line 25 of file generic_object.cpp.


Constructor & Destructor Documentation

generic_object_rep ( const generic rep2,
nat  id2 
) [inline]

Definition at line 70 of file generic_object.cpp.

00070                                                    :
00071     rep (rep2), id (id2) {}
};


Member Function Documentation

routine * acc_apply ( nat  code  )  const [virtual, inherited]

Reimplemented in generic_concrete_rep< C >.

Definition at line 283 of file generic.cpp.

00283 { return NULL; }

routine * acc_construct ( nat  id  )  const [virtual, inherited]

Reimplemented in generic_concrete_rep< C >.

Definition at line 282 of file generic.cpp.

00282 { return NULL; }

nat acc_id (  )  const [virtual, inherited]

Reimplemented in generic_concrete_rep< C >.

Definition at line 281 of file generic.cpp.

00281 { return -1; }

generic binary_disassemble (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 60 of file generic_object.cpp.

References ERROR.

00060                                       {
00061     ERROR ("binary disassemble not implemented for user objects"); }

generic binary_type (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 58 of file generic_object.cpp.

References ERROR.

00058                                {
00059     ERROR ("binary type not implemented for user objects"); }

void binary_write ( const port p  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 62 of file generic_object.cpp.

References ERROR.

00062                                           {
00063     ERROR ("binary write not implemented for user objects"); }

generic duplicate_me (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 49 of file generic_object.cpp.

References mmx::as_object(), mmx::duplicate(), and generic_object_rep::rep.

00049                                 {
00050     return as_object (duplicate (rep), id); }

syntactic expression (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 51 of file generic_object.cpp.

References mmx::as(), mmx::as_object(), mmx::current_ev, mmx::flatten(), mmx::GEN_FLATTEN, mmx::get_alias(), mmx::is_alias_type(), and generic_object_rep::rep.

00051                                 {
00052     if (is_alias_type (id))
00053       return flatten (get_alias (as<alias<generic> > (rep)));
00054     else {
00055       //return apply ("object", flatten (rep), flatten (type_name (id))); }
00056       generic r= current_ev->apply (GEN_FLATTEN, as_object (rep, id));
00057       return as<syntactic> (r); } }

generic get_child ( nat  i  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 36 of file generic_object.cpp.

References ERROR.

00036 { ERROR ("invalid child"); return 0; }

nat get_exact_hash_value (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 38 of file generic_object.cpp.

References mmx::exact_hash(), and generic_object_rep::rep.

00038 { return exact_hash (rep); }

nat get_hard_hash_value (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 37 of file generic_object.cpp.

References mmx::hard_hash(), and generic_object_rep::rep.

00037 { return hard_hash (rep); }

nat get_hash_value (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 39 of file generic_object.cpp.

References mmx::hash(), and generic_object_rep::rep.

00039 { return hash (rep); }

nat get_length (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 35 of file generic_object.cpp.

00035 { return 0; }

nat get_species_type (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 34 of file generic_object.cpp.

References SPECIES_DEFAULT.

00034 { return SPECIES_DEFAULT; }

nat get_symbolic_type (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 33 of file generic_object.cpp.

References SYMBOLIC_UNSPECIFIED.

00033 { return SYMBOLIC_UNSPECIFIED; }

nat get_type (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 31 of file generic_object.cpp.

References generic_object_rep::id.

00031 { return id; }

bool is_equal ( const generic g  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 46 of file generic_object.cpp.

References generic_object_rep::rep, and mmx::type().

00046                                          {
00047     if (type (g) != id) return false;
00048     return rep == ((generic_object_rep*) inspect (g)) -> rep; }

bool is_exact_eq ( const generic g  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 43 of file generic_object.cpp.

References mmx::exact_eq(), generic_object_rep::rep, and mmx::type().

00043                                             {
00044     if (type (g) != id) return false;
00045     return exact_eq (rep, ((generic_object_rep*) inspect (g)) -> rep); }

bool is_hard_eq ( const generic g  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 40 of file generic_object.cpp.

References mmx::hard_eq(), generic_object_rep::rep, and mmx::type().

00040                                            {
00041     if (type (g) != id) return false;
00042     return hard_eq (rep, ((generic_object_rep*) inspect (g)) -> rep); }

generic make_abstract_vector (  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 64 of file generic_object.cpp.

References ERROR.

00064                                         {
00065     ERROR ("invalid abstraction"); }

generic make_concrete_vector ( const generic v  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 66 of file generic_object.cpp.

References ERROR.

00066                                                         {
00067     ERROR ("invalid concretization"); }

generic me (  )  const [inline, inherited]

Definition at line 148 of file generic.hpp.

00148                                       {
00149   return generic (this, true); }

bool same_type ( const generic g  )  const [inline, protected, virtual]

Implements generic_rep.

Definition at line 32 of file generic_object.cpp.

References generic_object_rep::id, and mmx::type().

00032 { return type (g) == id; }


Friends And Related Function Documentation

friend class generic [friend, inherited]

Definition at line 123 of file generic.hpp.


Member Data Documentation

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