/[svn]/linuxsampler/trunk/src/common/Pool.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/common/Pool.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2879 by schoenebeck, Tue Apr 19 14:07:53 2016 UTC revision 3054 by schoenebeck, Thu Dec 15 12:47:45 2016 UTC
# Line 782  class Pool : public RTList<T> { Line 782  class Pool : public RTList<T> {
782           */           */
783          pool_element_id_t getID(const T* obj) const {          pool_element_id_t getID(const T* obj) const {
784              if (!poolsize) return 0;              if (!poolsize) return 0;
785              int index = obj - &data[0];              int index = int( obj - &data[0] );
786              if (index < 0 || index >= poolsize) return 0;              if (index < 0 || index >= poolsize) return 0;
787              return ((nodes[index].reincarnation << poolsizebits) | index) + 1;              return ((nodes[index].reincarnation << poolsizebits) | index) + 1;
788          }          }
# Line 840  class Pool : public RTList<T> { Line 840  class Pool : public RTList<T> {
840           */           */
841          Iterator fromPtr(const T* obj) const {          Iterator fromPtr(const T* obj) const {
842              if (!poolsize) return Iterator(); // invalid iterator              if (!poolsize) return Iterator(); // invalid iterator
843              int index = obj - &data[0];              int index = int( obj - &data[0] );
844              if (index < 0 || index >= poolsize) return Iterator(); // invalid iterator              if (index < 0 || index >= poolsize) return Iterator(); // invalid iterator
845              return Iterator(&nodes[index]);              return Iterator(&nodes[index]);
846          }          }

Legend:
Removed from v.2879  
changed lines
  Added in v.3054

  ViewVC Help
Powered by ViewVC