GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::detail::rc< _Node, _Alloc > Class Template Reference

Redundant binary counter. More...

#include <rc.hpp>

Collaboration diagram for __gnu_pbds::detail::rc< _Node, _Alloc >:

Public Types

typedef entry_const_pointer const_iterator
 
typedef node_pointer entry
 

Public Member Functions

 rc ()
 
 rc (const rc &)
 
const const_iterator begin () const
 
void clear ()
 
bool empty () const
 
const const_iterator end () const
 
void pop ()
 
void push (entry)
 
size_type size () const
 
void swap (rc &)
 
node_pointer top () const
 

Private Types

enum  { max_entries = sizeof(size_type) << 3 }
 
typedef _Alloc::template rebind< node__rebind_n
 
typedef _Alloc::template rebind< node_pointer__rebind_np
 
typedef _Alloc allocator_type
 
typedef __rebind_np::other::const_pointer entry_const_pointer
 
typedef __rebind_np::other::pointer entry_pointer
 
typedef _Node node
 
typedef __rebind_n::other::pointer node_pointer
 
typedef allocator_type::size_type size_type
 

Private Attributes

node_pointer m_a_entries [max_entries]
 
size_type m_over_top
 

Detailed Description

template<typename _Node, typename _Alloc>
class __gnu_pbds::detail::rc< _Node, _Alloc >

Redundant binary counter.

Member Typedef Documentation

template<typename _Node, typename _Alloc>
typedef _Alloc::template rebind<node> __gnu_pbds::detail::rc< _Node, _Alloc >::__rebind_n
private
template<typename _Node, typename _Alloc>
typedef _Alloc::template rebind<node_pointer> __gnu_pbds::detail::rc< _Node, _Alloc >::__rebind_np
private
template<typename _Node, typename _Alloc>
typedef _Alloc __gnu_pbds::detail::rc< _Node, _Alloc >::allocator_type
private
template<typename _Node, typename _Alloc>
typedef entry_const_pointer __gnu_pbds::detail::rc< _Node, _Alloc >::const_iterator
template<typename _Node, typename _Alloc>
typedef node_pointer __gnu_pbds::detail::rc< _Node, _Alloc >::entry
template<typename _Node, typename _Alloc>
typedef __rebind_np::other::const_pointer __gnu_pbds::detail::rc< _Node, _Alloc >::entry_const_pointer
private
template<typename _Node, typename _Alloc>
typedef __rebind_np::other::pointer __gnu_pbds::detail::rc< _Node, _Alloc >::entry_pointer
private
template<typename _Node, typename _Alloc>
typedef _Node __gnu_pbds::detail::rc< _Node, _Alloc >::node
private
template<typename _Node, typename _Alloc>
typedef __rebind_n::other::pointer __gnu_pbds::detail::rc< _Node, _Alloc >::node_pointer
private
template<typename _Node, typename _Alloc>
typedef allocator_type::size_type __gnu_pbds::detail::rc< _Node, _Alloc >::size_type
private

Member Enumeration Documentation

template<typename _Node, typename _Alloc>
anonymous enum
private
Enumerator
max_entries 

Constructor & Destructor Documentation

template<typename _Node , typename _Alloc >
__gnu_pbds::detail::rc< _Node, _Alloc >::rc ( )

References PB_DS_ASSERT_VALID.

template<typename _Node , typename _Alloc >
__gnu_pbds::detail::rc< _Node, _Alloc >::rc ( const rc< _Node, _Alloc > &  other)

References PB_DS_ASSERT_VALID.

Member Function Documentation

template<typename _Node , typename _Alloc >
const rc< _Node, _Alloc >::const_iterator __gnu_pbds::detail::rc< _Node, _Alloc >::begin ( ) const
template<typename _Node , typename _Alloc >
void __gnu_pbds::detail::rc< _Node, _Alloc >::clear ( )

References PB_DS_ASSERT_VALID.

template<typename _Node , typename _Alloc >
bool __gnu_pbds::detail::rc< _Node, _Alloc >::empty ( ) const
inline

References PB_DS_ASSERT_VALID.

template<typename _Node , typename _Alloc >
const rc< _Node, _Alloc >::const_iterator __gnu_pbds::detail::rc< _Node, _Alloc >::end ( ) const
template<typename _Node , typename _Alloc >
void __gnu_pbds::detail::rc< _Node, _Alloc >::pop ( )
inline
template<typename _Node , typename _Alloc >
void __gnu_pbds::detail::rc< _Node, _Alloc >::push ( entry  p_nd)
inline
template<typename _Node , typename _Alloc >
rc< _Node, _Alloc >::size_type __gnu_pbds::detail::rc< _Node, _Alloc >::size ( ) const
inline
template<typename _Node , typename _Alloc >
void __gnu_pbds::detail::rc< _Node, _Alloc >::swap ( rc< _Node, _Alloc > &  other)
inline
template<typename _Node , typename _Alloc >
rc< _Node, _Alloc >::node_pointer __gnu_pbds::detail::rc< _Node, _Alloc >::top ( ) const
inline

Member Data Documentation

template<typename _Node, typename _Alloc>
node_pointer __gnu_pbds::detail::rc< _Node, _Alloc >::m_a_entries[max_entries]
private
template<typename _Node, typename _Alloc>
size_type __gnu_pbds::detail::rc< _Node, _Alloc >::m_over_top
private

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