Ignore:
Timestamp:
May 8, 2024, 4:41:33 PM (2 months ago)
Author:
JiadaL <j82liang@…>
Branches:
master
Children:
41c8312
Parents:
0843ba6
Message:

Add GCC visibility push(default); Fix trait satisfaction problem

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/enum.hfa

    r0843ba6 r03ac869  
    77    };
    88
    9     forall(E| Bounded(E, T)) trait Serial {
     9    forall(E| Bounded(T, E)) trait Serial {
    1010        unsigned fromInstance(E e);
    1111        E fromInt(unsigned i);
     
    1515
    1616    // Opague Enum + TypedEnum
    17     forall(E | Serial(E, T)) trait CfaEnum {
     17    forall(E | Serial(T, E)) trait CfaEnum {
    1818        char * labelE(E e);
    1919        unsigned int posE(E e);
    2020    };
    2121
    22     forall(E | CfaEnum(E, T)) trait TypedEnum {
     22    forall(E| CfaEnum(T, E)) trait TypedEnum {
    2323        T valueE(E e);
    2424    };
    25 
    26     forall(E | TypedEnum(E, T)) {
    27         // comparison
    28         int ?==?(E l, E r);
    29         int ?!=?(E l, E r);
    30         int ?!=?(E l, zero_t);
    31         int ?<?(E l, E r);
    32         int ?<=?(E l, E r);
    33         int ?>?(E l, E r);
    34         int ?>=?(E l, E r);
    35 
    36         // for testing; To be removed
    37         // char * typeEnumString(E e);
    38         char * typeEnumString(E e);
    39     }
    4025}
    4126
     27
     28forall(T, E | TypedEnum(T, E)) {
     29    // comparison
     30    int ?==?(E l, E r);
     31    int ?!=?(E l, E r);
     32    int ?!=?(E l, zero_t);
     33    int ?<?(E l, E r);
     34    int ?<=?(E l, E r);
     35    int ?>?(E l, E r);
     36    int ?>=?(E l, E r);
     37}
Note: See TracChangeset for help on using the changeset viewer.