Guest User

Untitled

a guest
Dec 11th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1.  
  2. #include "stdafx.h"
  3. #include <stdlib.h>
  4. #include <algorithm>
  5. #include <deque>
  6. #include <iostream>
  7.  
  8. class Renderable
  9. {
  10. public:
  11.  
  12.     Renderable()
  13.         :_priority(0)
  14.     {
  15.        
  16.     }
  17.     explicit Renderable( unsigned int priority)
  18.         :_priority(priority)
  19.     {
  20.        
  21.     }
  22.     bool operator< (const Renderable& b);
  23.  
  24.  
  25.     void SetPriority( unsigned int priority)
  26.     {
  27.         _priority = priority;
  28.     }
  29.  
  30.     unsigned int GetPriority() const
  31.     {
  32.         return _priority;
  33.     }
  34. private:
  35.     unsigned int _priority;
  36. };
  37.  
  38. bool Renderable::operator< (const Renderable& b)
  39. {
  40.     unsigned int _pri = b._priority;
  41.  
  42.     return _priority < _pri;
  43. }
  44.  
  45. void PrintDeque(std::deque<Renderable>& myDeque)
  46. {
  47.     std::deque<Renderable>::iterator it = myDeque.begin();
  48.     std::deque<Renderable>::iterator endIt = myDeque.end();
  49.     for( ; it != endIt; ++it)
  50.     {
  51.         std::cout << (*it).GetPriority() << ",";
  52.     }
  53.     std::cout << std::endl;
  54. }
  55.  
  56. int _tmain(int argc, _TCHAR* argv[])
  57. {
  58.  
  59.     Renderable foo(67);
  60.     Renderable bar(58);
  61.  
  62.     bool result = foo < bar;
  63.  
  64.     std::deque<Renderable> myDeque;
  65.     Renderable a[10];
  66.     for( int i = 0; i < 10; ++i)
  67.     {
  68.         unsigned int num = rand();
  69.         a[i].SetPriority(num);
  70.         myDeque.push_back(a[i]);
  71.     }
  72.  
  73.  
  74.     std::sort<Renderable*>(a+0, a+10);
  75.  
  76.  
  77.     PrintDeque(myDeque);
  78.  
  79.     std::sort(myDeque.begin(), myDeque.end());
  80.  
  81.     PrintDeque(myDeque);
  82.  
  83.     return 0;
  84. }
Add Comment
Please, Sign In to add comment