The C++ framework for developing highly scalable, high performance servers on Windows platforms.

TReusableIdManager Class Template Reference

Inheritance diagram for TReusableIdManager:
Collaboration diagram for TReusableIdManager:

List of all members.

template<typename T>
class JetByteTools::Core::TReusableIdManager< T >


Public Types

enum  ReusePolicy { ReuseFast, ReuseSlow }

Public Member Functions

 TReusableIdManager (ReusePolicy reusePolicy=ReuseFast, T max=std::numeric_limits< T >::max(), T min=0)
 TReusableIdManager (const TReusableIdManager &rhs)
virtual ~TReusableIdManager ()
TReusableIdManageroperator= (const TReusableIdManager &rhs)
virtual bool CanAllocate () const
virtual T Allocate ()
virtual void Free (T id)
virtual bool TryFree (T id)
virtual bool MarkAsUsed (T id)
virtual bool MarkAsUsed (T first, T last)
_tstring Dump () const
void Swap (const TReusableIdManager &rhs) const

Protected Types

typedef std::set
< Interval
Intervals

Protected Member Functions

 TReusableIdManager (const Intervals &idRanges, ReusePolicy reusePolicy)
bool InternalMarkAsUsed (T id)
bool InternalTryFree (T id)

Classes

class  Interval
class  SmartId

Member Typedef Documentation

typedef std::set<Interval> Intervals [protected]


Member Enumeration Documentation

Enumerator:
ReuseFast 
ReuseSlow 


Constructor & Destructor Documentation

TReusableIdManager ( ReusePolicy  reusePolicy = ReuseFast,
max = std::numeric_limits<T>::max(),
min = 0 
) [inline, explicit]

TReusableIdManager ( const TReusableIdManager< T > &  rhs  ) 

virtual ~TReusableIdManager (  )  [virtual]

TReusableIdManager ( const Intervals idRanges,
ReusePolicy  reusePolicy 
) [inline, protected]


Member Function Documentation

TReusableIdManager& operator= ( const TReusableIdManager< T > &  rhs  ) 

bool CanAllocate (  )  const [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

T Allocate (  )  [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

void Free ( id  )  [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

bool TryFree ( id  )  [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

bool MarkAsUsed ( id  )  [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

bool MarkAsUsed ( first,
last 
) [inline, virtual]

Reimplemented in TThreadSafeReusableIdManager.

_tstring Dump (  )  const [inline]

void Swap ( const TReusableIdManager< T > &  rhs  )  const [inline]

bool InternalMarkAsUsed ( id  )  [inline, protected]

bool InternalTryFree ( id  )  [inline, protected]


Generated on Sun Sep 12 19:08:49 2021 for The Server Framework - v7.4 by doxygen 1.5.3