Sha256: 784196f2592af7a2f22c354daa210deece812a2cf7244bcdaa033309c697720c

Contents?: true

Size: 1.37 KB

Versions: 10

Compression:

Stored size: 1.37 KB

Contents

#ifndef __UGLY_H__
#define __UGLY_H__

namespace UI {

/*
Mapping should work for:
ruby:
F = function
M = module
C = class

c++:
m = namespace
f = function
c = class

  m f c
F    
M x x x
C   x 

*/

//should be exported as UI::add
inline int uiAdd(int a, int b) {
  return a+b;
}


//should be exported as UI::subtract
inline int ui_Subtract(int a, int b) {
  return a-b;
}

inline void uiIgnore() {}

class C_UIVector {
  private:
    int x;
  public:
    C_UIVector() {}
    int x_() {
      return this->x;
    }
    void set_x(int x) {
      this->x = x;
    }
    static int one() {
      return 1;
    }
    int y_() {
      return 0;
    }
};


inline C_UIVector *IlikeVectors(int i) {
  return new C_UIVector();
}

class NoConstructor {
  public:
    NoConstructor() {}
};

class Inside {
  public:
    Inside() {}
};
class Outside {
};


namespace __UI {
  namespace BAD_UI {
    class Multiplier {
    public:
      Multiplier() {}
      inline int multiply(int a, int b) {
        return a*b;
      }
    };
    inline int multiply(int a, int b, int c) {
      return a*b*c;
    }
  }
}

namespace DMath {
  inline float divide(float a,float b) {
    return a/b;
  }
}

namespace I_LEARN_C {
    inline int mod(int a, int b) {
      return a%b;
    }
    inline int mod2(int a, int b) {
      return a%b;
    }
    class Modder {
    public:
      Modder() {}
      
    };
} 

}

#endif

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rbplusplus-1.4.0 test/headers/ugly_interface.h
rbplusplus-1.3.0 test/headers/ugly_interface.h
rbplusplus-1.2.1 test/headers/ugly_interface.h
rbplusplus-1.2.0 test/headers/ugly_interface.h
rbplusplus-1.1.0 test/headers/ugly_interface.h
rbplusplus-1.0.3 test/headers/ugly_interface.h
rbplusplus-1.0.1 test/headers/ugly_interface.h
rbplusplus-1.0 test/headers/ugly_interface.h
rbplusplus-0.9.1 test/headers/ugly_interface.h
rbplusplus-0.9 test/headers/ugly_interface.h