Advertisement
Zoadian

Untitled

Jul 15th, 2011
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
D 0.52 KB | None | 0 0
  1. module util.modifiables;
  2.  
  3. struct Modifier
  4. {
  5. }
  6.  
  7. mixin template Modifiable(T)
  8. {
  9. public:
  10.  
  11.         void addMod(Modifier mod){this._mods ~= mod;}
  12.        
  13.         Z opCatAssign(Modifier mod)
  14.         {
  15.                 this.addMod(mod);
  16.                 return this;
  17.         }
  18.  
  19. private:
  20.         alias typeof(this) Z;
  21.         Modifier[] _mods;
  22. }
  23.  
  24. struct ModifiableInt
  25. {
  26.         mixin Modifiable!(int);
  27. }
  28. unittest
  29. {
  30.         ModifiableInt mi = ModifiableInt();
  31.         mi ~= Modifier();//bug in dmd.2.054
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement