Aslai

Ugly Class

Jan 4th, 2012
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.82 KB | None | 0 0
  1. struct var{
  2.     private:
  3.     public:
  4.         char type;
  5.         bool set;
  6.         void* mydata;
  7.         int datalen;
  8.         std::map<var,var> data;
  9.     public:
  10.         ~var();
  11.         var();
  12.         var(const double val);
  13.         var(const int val);
  14.         var(const var &val);
  15.         var(const char* val);
  16.         var op_plus ( const char* val, int len ) const;
  17.         var& operator[] ( const var val );
  18.         var& operator[] ( double val );
  19.         var& operator[] ( const char* val );
  20.         var& operator[] ( int val );
  21.         var& operator= ( const var val );
  22.         var& operator= ( double val );
  23.         var& operator= ( int val );
  24.         var& operator= ( const char* val );
  25.         friend var operator + ( const var& va,  const var val  ) ;
  26.         friend var operator + ( const var& va,  double val  ) ;
  27.         friend var operator + ( const var& va,  const char* val  ) ;
  28.         friend var operator - ( const var& va,  const var val  ) ;
  29.         friend var operator - ( const var& va,  double val  ) ;
  30.         friend var operator * ( const var& va,  const var val  ) ;
  31.         friend var operator * ( const var& va,  double val  ) ;
  32.         friend var operator / ( const var& va,  const var val  ) ;
  33.         friend var operator / ( const var& va,  double val  ) ;
  34.         friend bool operator == ( const var& va,  const var val  ) ;
  35.         friend bool operator == ( const var& va,  const double val  ) ;
  36.         friend bool operator == ( const var& va,  const char* val  ) ;
  37.         friend var operator + ( const var& va   ) ;
  38.         friend var operator - ( const var& va   ) ;
  39.         friend var operator % ( const var& va,  const var val  ) ;
  40.         friend var operator % ( const var& va,  double val  ) ;
  41.         friend var& operator ++ ( var& va  );
  42.         friend var operator ++ ( var& va, int );
  43.         friend var& operator -- ( var& va  );
  44.         friend var operator -- ( var& va, int );
  45.         friend bool operator != ( const var& va,  const var val  ) ;
  46.         friend bool operator != ( const var& va,  double val  ) ;
  47.         friend bool operator != ( const var& va,  const char* val  ) ;
  48.         friend bool operator > ( const var& va,  const var val  ) ;
  49.         friend bool operator > ( const var& va,  double val  ) ;
  50.         friend bool operator > ( const var& va,  const char* val  ) ;
  51.         friend bool operator < ( const var& va,  const var val  ) ;
  52.         friend bool operator < ( const var& va,  double val  ) ;
  53.         friend bool operator < ( const var& va,  const char* val  ) ;
  54.         friend bool operator >= ( const var& va,  const var val  ) ;
  55.         friend bool operator >= ( const var& va,  double val  ) ;
  56.         friend bool operator >= ( const var& va,  const char* val  ) ;
  57.         friend bool operator <= ( const var& va,  const var val  ) ;
  58.         friend bool operator <= ( const var& va,  double val  ) ;
  59.         friend bool operator <= ( const var& va,  const char* val  ) ;
  60.         friend bool operator ! ( const var& va  ) ;
  61.         friend bool operator && ( const var& va,  const var val  ) ;
  62.         friend bool operator && ( const var& va,  double val  ) ;
  63.         friend bool operator || ( const var& va,  const var val  ) ;
  64.         friend bool operator || ( const var& va,  double val  ) ;
  65.         friend var operator ~ ( const var& va  ) ;
  66.         friend var operator & ( const var& va,  const var val  ) ;
  67.         friend var operator & ( const var& va,  double val  ) ;
  68.         friend var operator | ( const var& va,  const var val  ) ;
  69.         friend var operator | ( const var& va,  double val  ) ;
  70.         friend var operator ^ ( const var& va,  const var val  ) ;
  71.         friend var operator ^ ( const var& va,  double val  ) ;
  72.         friend var operator << ( const var& va,  const var val  ) ;
  73.         friend var operator << ( const var& va,  double val  ) ;
  74.         friend var operator >> ( const var& va,  const var val  ) ;
  75.         friend var operator >> ( const var& va,  double val  ) ;
  76.         friend var operator + (  double val  , const var& va) ;
  77.         friend var operator + (  const char* val  , const var& va) ;
  78.         friend var operator - (  double val  , const var& va) ;
  79.         friend var operator * (  double val  , const var& va) ;
  80.         friend var operator / (  double val  , const var& va) ;
  81.         friend bool operator == (  const double val  , const var& va) ;
  82.         friend bool operator == (  const char* val  , const var& va) ;
  83.         friend var operator % (  double val  , const var& va) ;
  84.         friend bool operator != (  double val  , const var& va) ;
  85.         friend bool operator != (  const char* val  , const var& va) ;
  86.         friend bool operator > (  double val  , const var& va) ;
  87.         friend bool operator > (  const char* val  , const var& va) ;
  88.         friend bool operator < (  double val  , const var& va) ;
  89.         friend bool operator < (  const char* val  , const var& va) ;
  90.         friend bool operator >= (  double val  , const var& va) ;
  91.         friend bool operator >= (  const char* val  , const var& va) ;
  92.         friend bool operator <= (  double val  , const var& va) ;
  93.         friend bool operator <= (  const char* val  , const var& va) ;
  94.         friend bool operator && (  double val  , const var& va) ;
  95.         friend bool operator || (  double val  , const var& va) ;
  96.         friend var operator & (  double val  , const var& va) ;
  97.         friend var operator | (  double val  , const var& va) ;
  98.         friend var operator ^ (  double val  , const var& va) ;
  99.         friend var operator << (  double val  , const var& va) ;
  100.         friend var operator >> (  double val  , const var& va) ;
  101.         friend var& operator += ( var& va,  const var val  );
  102.         friend var& operator += ( var& va,  double val  );
  103.         friend var& operator += ( var& va,  const char* val  );
  104.         friend var& operator -= ( var& va,  const var val  );
  105.         friend var& operator -= ( var& va,  double val  );
  106.         friend var& operator *= ( var& va,  const var val  );
  107.         friend var& operator *= ( var& va,  double val  );
  108.         friend var& operator /= ( var& va,  const var val  );
  109.         friend var& operator /= ( var& va,  double val  );
  110.         friend var& operator %= ( var& va,  const var val  );
  111.         friend var& operator %= ( var& va,  double val  );
  112.         friend var& operator &= ( var& va,  const var val  );
  113.         friend var& operator &= ( var& va,  double val  );
  114.         friend var& operator |= ( var& va,  const var val  );
  115.         friend var& operator |= ( var& va,  double val  );
  116.         friend var& operator ^= ( var& va,  const var val  );
  117.         friend var& operator ^= ( var& va,  double val  );
  118.         friend var& operator <<= ( var& va,  const var val  );
  119.         friend var& operator <<= ( var& va,  double val  );
  120.         friend var& operator >>= ( var& va,  const var val  );
  121.         friend var& operator >>= ( var& va,  double val  );
  122.         friend var operator + ( const var& va,  int val  ) ;
  123.         friend var operator - ( const var& va,  int val  ) ;
  124.         friend var operator * ( const var& va,  int val  ) ;
  125.         friend var operator / ( const var& va,  int val  ) ;
  126.         friend bool operator == ( const var& va,  int val  ) ;
  127.         friend var operator % ( const var& va,  int val  ) ;
  128.         friend bool operator != ( const var& va,  int val  ) ;
  129.         friend bool operator > ( const var& va,  int val  ) ;
  130.         friend bool operator < ( const var& va,  int val  ) ;
  131.         friend bool operator >= ( const var& va,  int val  ) ;
  132.         friend bool operator <= ( const var& va,  int val  ) ;
  133.         friend bool operator && ( const var& va,  int val  ) ;
  134.         friend bool operator || ( const var& va,  int val  ) ;
  135.         friend var operator & ( const var& va,  int val  ) ;
  136.         friend var operator | ( const var& va,  int val  ) ;
  137.         friend var operator ^ ( const var& va,  int val  ) ;
  138.         friend var operator << ( const var& va,  int val  ) ;
  139.         friend var operator >> ( const var& va,  int val  ) ;
  140.         friend var operator + (  int val  , const var& va) ;
  141.         friend var operator - (  int val  , const var& va) ;
  142.         friend var operator * (  int val  , const var& va) ;
  143.         friend var operator / (  int val  , const var& va) ;
  144.         friend bool operator == (  int val  , const var& va) ;
  145.         friend var operator % (  int val  , const var& va) ;
  146.         friend bool operator != (  int val  , const var& va) ;
  147.         friend bool operator > (  int val  , const var& va) ;
  148.         friend bool operator < (  int val  , const var& va) ;
  149.         friend bool operator >= (  int val  , const var& va) ;
  150.         friend bool operator <= (  int val  , const var& va) ;
  151.         friend bool operator && (  int val  , const var& va) ;
  152.         friend bool operator || (  int val  , const var& va) ;
  153.         friend var operator & (  int val  , const var& va) ;
  154.         friend var operator | (  int val  , const var& va) ;
  155.         friend var operator ^ (  int val  , const var& va) ;
  156.         friend var operator << (  int val  , const var& va) ;
  157.         friend var operator >> (  int val  , const var& va) ;
  158.         friend var& operator += ( var& va,  int val  );
  159.         friend var& operator -= ( var& va,  int val  );
  160.         friend var& operator *= ( var& va,  int val  );
  161.         friend var& operator /= ( var& va,  int val  );
  162.         friend var& operator %= ( var& va,  int val  );
  163.         friend var& operator &= ( var& va,  int val  );
  164.         friend var& operator |= ( var& va,  int val  );
  165.         friend var& operator ^= ( var& va,  int val  );
  166.         friend var& operator <<= ( var& va,  int val  );
  167.         friend var& operator >>= ( var& va,  int val  );
  168.  
  169.         //var& operator()(...);
  170.         operator bool() const;
  171.         operator char*() const;
  172.         operator double() const;
  173.         operator long() const;
  174.  
  175. };
Advertisement
Add Comment
Please, Sign In to add comment