GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::detail::resize_policy< _Tp > Class Template Reference

Resize policy for binary heap. More...

#include <resize_policy.hpp>

Collaboration diagram for __gnu_pbds::detail::resize_policy< _Tp >:

Public Types

typedef _Tp size_type
 

Public Member Functions

 resize_policy ()
 
 resize_policy (const resize_policy &other)
 
size_type get_new_size_for_arbitrary (size_type) const
 
size_type get_new_size_for_grow () const
 
size_type get_new_size_for_shrink () const
 
bool grow_needed (size_type) const
 
void notify_arbitrary (size_type)
 
void notify_grow_resize ()
 
void notify_shrink_resize ()
 
bool resize_needed_for_grow (size_type) const
 
bool resize_needed_for_shrink (size_type) const
 
bool shrink_needed (size_type) const
 
void swap (resize_policy< _Tp > &)
 

Static Public Attributes

static const _Tp min_size = 16
 

Private Types

enum  {
  ratio = 8,
  factor = 2
}
 

Private Attributes

_Tp m_grow_size
 Next grow size. More...
 
_Tp m_shrink_size
 Next shrink size. More...
 

Detailed Description

template<typename _Tp>
class __gnu_pbds::detail::resize_policy< _Tp >

Resize policy for binary heap.

Member Typedef Documentation

template<typename _Tp>
typedef _Tp __gnu_pbds::detail::resize_policy< _Tp >::size_type

Member Enumeration Documentation

template<typename _Tp>
anonymous enum
private
Enumerator
ratio 
factor 

Constructor & Destructor Documentation

template<typename _Tp>
__gnu_pbds::detail::resize_policy< _Tp >::resize_policy ( )
inline
template<typename _Tp>
__gnu_pbds::detail::resize_policy< _Tp >::resize_policy ( const resize_policy< _Tp > &  other)
inline

Member Function Documentation

template<typename _Tp >
resize_policy< _Tp >::size_type __gnu_pbds::detail::resize_policy< _Tp >::get_new_size_for_arbitrary ( size_type  size) const
inline
template<typename _Tp >
resize_policy< _Tp >::size_type __gnu_pbds::detail::resize_policy< _Tp >::get_new_size_for_grow ( ) const
inline
template<typename _Tp >
resize_policy< _Tp >::size_type __gnu_pbds::detail::resize_policy< _Tp >::get_new_size_for_shrink ( ) const
inline

References __gnu_parallel::max().

Here is the call graph for this function:

template<typename _Tp>
bool __gnu_pbds::detail::resize_policy< _Tp >::grow_needed ( size_type  ) const
inline
template<typename _Tp >
void __gnu_pbds::detail::resize_policy< _Tp >::notify_arbitrary ( size_type  actual_size)
inline

References PB_DS_ASSERT_VALID.

template<typename _Tp >
void __gnu_pbds::detail::resize_policy< _Tp >::notify_grow_resize ( )
inline
template<typename _Tp >
void __gnu_pbds::detail::resize_policy< _Tp >::notify_shrink_resize ( )
inline

References __gnu_parallel::max(), and PB_DS_ASSERT_VALID.

Here is the call graph for this function:

template<typename _Tp >
bool __gnu_pbds::detail::resize_policy< _Tp >::resize_needed_for_grow ( size_type  size) const
inline

References _GLIBCXX_DEBUG_ASSERT.

template<typename _Tp >
bool __gnu_pbds::detail::resize_policy< _Tp >::resize_needed_for_shrink ( size_type  size) const
inline

References _GLIBCXX_DEBUG_ASSERT.

template<typename _Tp>
bool __gnu_pbds::detail::resize_policy< _Tp >::shrink_needed ( size_type  ) const
inline
template<typename _Tp>
void __gnu_pbds::detail::resize_policy< _Tp >::swap ( resize_policy< _Tp > &  other)
inline

Member Data Documentation

template<typename _Tp>
_Tp __gnu_pbds::detail::resize_policy< _Tp >::m_grow_size
private

Next grow size.

Referenced by __gnu_pbds::detail::resize_policy< _Tp >::swap().

template<typename _Tp>
_Tp __gnu_pbds::detail::resize_policy< _Tp >::m_shrink_size
private

Next shrink size.

Referenced by __gnu_pbds::detail::resize_policy< _Tp >::swap().

template<typename _Tp>
const _Tp __gnu_pbds::detail::resize_policy< _Tp >::min_size = 16
static

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