proxygen
folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr Struct Reference

Public Types

enum  : uint32_t { SizeBits = 8, SizeMask = (1U << SizeBits) - 1, TagIncr = 1U << SizeBits }
 

Public Member Functions

uint32_t size () const
 
TaggedPtr withSize (uint32_t repl) const
 
TaggedPtr withSizeIncr () const
 
TaggedPtr withSizeDecr () const
 
TaggedPtr withIdx (uint32_t repl) const
 
TaggedPtr withEmpty () const
 

Public Attributes

uint32_t idx
 
uint32_t tagAndSize
 

Detailed Description

template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
struct folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr

Definition at line 335 of file IndexedMemPool.h.

Member Enumeration Documentation

template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
anonymous enum : uint32_t
Enumerator
SizeBits 
SizeMask 
TagIncr 

Definition at line 343 of file IndexedMemPool.h.

Member Function Documentation

template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
uint32_t folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::size ( ) const
inline
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
TaggedPtr folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::withEmpty ( ) const
inline
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
TaggedPtr folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::withIdx ( uint32_t  repl) const
inline
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
TaggedPtr folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::withSize ( uint32_t  repl) const
inline
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
TaggedPtr folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::withSizeDecr ( ) const
inline

Definition at line 363 of file IndexedMemPool.h.

References folly::size().

Referenced by folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::localPop().

363  {
364  assert(size() > 0);
365  return TaggedPtr{idx, tagAndSize - 1};
366  }
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
TaggedPtr folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::withSizeIncr ( ) const
inline

Member Data Documentation

template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
uint32_t folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::idx
template<typename T, uint32_t NumLocalLists_ = 32, uint32_t LocalListLimit_ = 200, template< typename > class Atom = std::atomic, typename Traits = IndexedMemPoolTraits<T>>
uint32_t folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::TaggedPtr::tagAndSize

Definition at line 341 of file IndexedMemPool.h.


The documentation for this struct was generated from the following file: