clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
bk_lib::detail::left_right_rep< L, R > Class Template Reference

#include <left_right_sequence.h>

Inheritance diagram for bk_lib::detail::left_right_rep< L, R >:
Inheritance graph
Collaboration diagram for bk_lib::detail::left_right_rep< L, R >:
Collaboration graph

Public Types

enum  { block_size = ((sizeof(max_type)+(sizeof(align_type)-1)) / sizeof(align_type)) * sizeof(align_type) }
 
typedef L left_type
 
typedef R right_type
 
typedef unsigned int size_type
 
typedef L * left_iterator
 
typedef const L * const_left_iterator
 
typedef std::reverse_iterator
< R * > 
right_iterator
 
typedef std::reverse_iterator
< const R * > 
const_right_iterator
 
typedef
bk_lib::detail::align_of
< left_type >::type 
left_align_type
 
typedef
bk_lib::detail::align_of
< right_type >::type 
right_align_type
 
typedef right_type::type max_type
 
typedef right_align_type::type align_type
 

Public Member Functions

 left_right_rep ()
 
bool empty () const
 
size_type left_size () const
 
size_type right_size () const
 
size_type size () const
 
size_type left_capacity () const
 
size_type right_capacity () const
 
const_left_iterator left_begin () const
 
const_left_iterator left_end () const
 
left_iterator left_begin ()
 
left_iterator left_end ()
 
const_right_iterator right_begin () const
 
const_right_iterator right_end () const
 
right_iterator right_begin ()
 
right_iterator right_end ()
 
const left_typeleft (size_type i) const
 
left_typeleft (size_type i)
 
void clear (bool releaseMem=false)
 
void push_left (const left_type &x)
 
void push_right (const right_type &x)
 
void pop_left ()
 
void pop_right ()
 
void erase_left (left_iterator it)
 
void erase_left_unordered (left_iterator it)
 
void erase_right (right_iterator it)
 
void erase_right_unordered (right_iterator it)
 
void shrink_left (left_iterator it)
 
void shrink_right (right_iterator it)
 

Public Attributes

typedef left_type
 
typedef left_align_type
 

Protected Types

typedef unsigned char buf_type
 

Protected Member Functions

 left_right_rep (const left_right_rep &)
 
left_right_repoperator= (const left_right_rep &)
 
buf_typebegin ()
 
const buf_typebegin () const
 
buf_typeend ()
 
const buf_typeend () const
 
buf_typeleft ()
 
buf_typeright ()
 
size_type capacity () const
 
size_type raw_size () const
 
void release ()
 
void realloc ()
 

Protected Attributes

buf_typebuf_
 
size_type cap_: 31
 
size_type free_: 1
 
size_type left_
 
size_type right_
 

Member Typedef Documentation

template<class L, class R>
typedef right_align_type ::type bk_lib::detail::left_right_rep< L, R >::align_type
template<class L, class R>
typedef unsigned char bk_lib::detail::left_right_rep< L, R >::buf_type
protected
template<class L, class R>
typedef const L* bk_lib::detail::left_right_rep< L, R >::const_left_iterator
template<class L, class R>
typedef std::reverse_iterator<const R*> bk_lib::detail::left_right_rep< L, R >::const_right_iterator
template<class L, class R>
typedef L* bk_lib::detail::left_right_rep< L, R >::left_iterator
template<class L, class R>
typedef L bk_lib::detail::left_right_rep< L, R >::left_type
template<class L, class R>
typedef right_type ::type bk_lib::detail::left_right_rep< L, R >::max_type
template<class L, class R>
typedef std::reverse_iterator<R*> bk_lib::detail::left_right_rep< L, R >::right_iterator
template<class L, class R>
typedef R bk_lib::detail::left_right_rep< L, R >::right_type
template<class L, class R>
typedef unsigned int bk_lib::detail::left_right_rep< L, R >::size_type

Member Enumeration Documentation

template<class L, class R>
anonymous enum
Enumerator
block_size 

Constructor & Destructor Documentation

template<class L, class R>
bk_lib::detail::left_right_rep< L, R >::left_right_rep ( )
inline
template<class L, class R>
bk_lib::detail::left_right_rep< L, R >::left_right_rep ( const left_right_rep< L, R > &  )
inlineprotected

Member Function Documentation

template<class L, class R>
buf_type* bk_lib::detail::left_right_rep< L, R >::begin ( )
inlineprotected
template<class L, class R>
const buf_type* bk_lib::detail::left_right_rep< L, R >::begin ( ) const
inlineprotected
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::capacity ( ) const
inlineprotected
template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::clear ( bool  releaseMem = false)
inline

Here is the call graph for this function:

template<class L, class R>
bool bk_lib::detail::left_right_rep< L, R >::empty ( ) const
inline
template<class L, class R>
buf_type* bk_lib::detail::left_right_rep< L, R >::end ( )
inlineprotected
template<class L, class R>
const buf_type* bk_lib::detail::left_right_rep< L, R >::end ( ) const
inlineprotected
template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::erase_left ( left_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::erase_left_unordered ( left_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::erase_right ( right_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::erase_right_unordered ( right_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
const left_type& bk_lib::detail::left_right_rep< L, R >::left ( size_type  i) const
inline

Here is the call graph for this function:

template<class L, class R>
left_type& bk_lib::detail::left_right_rep< L, R >::left ( size_type  i)
inline

Here is the call graph for this function:

template<class L, class R>
buf_type* bk_lib::detail::left_right_rep< L, R >::left ( )
inlineprotected
template<class L, class R>
const_left_iterator bk_lib::detail::left_right_rep< L, R >::left_begin ( ) const
inline

Here is the call graph for this function:

template<class L, class R>
left_iterator bk_lib::detail::left_right_rep< L, R >::left_begin ( )
inline

Here is the call graph for this function:

template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::left_capacity ( ) const
inline
template<class L, class R>
const_left_iterator bk_lib::detail::left_right_rep< L, R >::left_end ( ) const
inline
template<class L, class R>
left_iterator bk_lib::detail::left_right_rep< L, R >::left_end ( )
inline
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::left_size ( ) const
inline
template<class L, class R>
left_right_rep& bk_lib::detail::left_right_rep< L, R >::operator= ( const left_right_rep< L, R > &  )
inlineprotected
template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::pop_left ( )
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::pop_right ( )
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::push_left ( const left_type x)
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::push_right ( const right_type x)
inline

Here is the call graph for this function:

template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::raw_size ( ) const
inlineprotected
template<class L , class R >
void bk_lib::detail::left_right_rep< L, R >::realloc ( )
protected

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::release ( )
inlineprotected
template<class L, class R>
buf_type* bk_lib::detail::left_right_rep< L, R >::right ( )
inlineprotected
template<class L, class R>
const_right_iterator bk_lib::detail::left_right_rep< L, R >::right_begin ( ) const
inline

Here is the call graph for this function:

template<class L, class R>
right_iterator bk_lib::detail::left_right_rep< L, R >::right_begin ( )
inline

Here is the call graph for this function:

template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::right_capacity ( ) const
inline
template<class L, class R>
const_right_iterator bk_lib::detail::left_right_rep< L, R >::right_end ( ) const
inline
template<class L, class R>
right_iterator bk_lib::detail::left_right_rep< L, R >::right_end ( )
inline
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::right_size ( ) const
inline
template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::shrink_left ( left_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
void bk_lib::detail::left_right_rep< L, R >::shrink_right ( right_iterator  it)
inline

Here is the call graph for this function:

template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::size ( ) const
inline

Here is the call graph for this function:

Member Data Documentation

template<class L, class R>
buf_type* bk_lib::detail::left_right_rep< L, R >::buf_
protected
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::cap_
protected
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::free_
protected
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::left_
protected
template<class L, class R>
typedef bk_lib::detail::left_right_rep< L, R >::left_align_type
template<class L, class R>
typedef bk_lib::detail::left_right_rep< L, R >::left_type
template<class L, class R>
size_type bk_lib::detail::left_right_rep< L, R >::right_
protected

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