basix_doc 0.1
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.

                                                   :
    rep (rep2), id (id2) {}

Member Function Documentation

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

Reimplemented in generic_concrete_rep< C >.

Definition at line 282 of file generic.cpp.

{ return NULL; }
routine * acc_construct ( nat  id) const [virtual, inherited]

Reimplemented in generic_concrete_rep< C >.

Definition at line 281 of file generic.cpp.

{ return NULL; }
nat acc_id ( ) const [virtual, inherited]

Reimplemented in generic_concrete_rep< C >.

Definition at line 280 of file generic.cpp.

{ return -1; }
generic binary_disassemble ( ) const [inline, protected, virtual]

Implements generic_rep.

Definition at line 60 of file generic_object.cpp.

References ERROR.

                                      {
    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.

                               {
    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.

                                          {
    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.

                                {
    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.

                                {
    if (is_alias_type (id))
      return flatten (get_alias (as<alias<generic> > (rep)));
    else {
      //return apply ("object", flatten (rep), flatten (type_name (id))); }
      generic r= current_ev->apply (GEN_FLATTEN, as_object (rep, id));
      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.

{ 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.

{ 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.

{ 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.

{ return hash (rep); }
nat get_length ( ) const [inline, protected, virtual]

Implements generic_rep.

Definition at line 35 of file generic_object.cpp.

{ 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.

{ 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.

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

Implements generic_rep.

Definition at line 31 of file generic_object.cpp.

References generic_object_rep::id.

{ 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().

                                         {
    if (type (g) != id) return false;
    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().

                                            {
    if (type (g) != id) return false;
    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().

                                           {
    if (type (g) != id) return false;
    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.

                                        {
    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.

                                                        {
    ERROR ("invalid concretization"); }
generic me ( ) const [inline, inherited]
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_id().

{ return type_id (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 138 of file basix.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines