GRASS GIS 7 Programmer's Manual  7.9.dev(2021)-e5379bbd7
em_buffer< T, Key > Class Template Reference

#include <embuffer.h>

Public Member Functions

 em_buffer (const unsigned short i, const unsigned long bs, const unsigned int ar)
 
 em_buffer (const em_buffer &buf)
 
 ~em_buffer ()
 
unsigned short get_level () const
 
AMI_STREAM< T > * get_stream (unsigned int i)
 
AMI_STREAM< T > ** get_streams ()
 
void put_stream (unsigned int i)
 
void put_streams ()
 
long * get_bos () const
 
unsigned int laststream () const
 
unsigned int nextstream () const
 
void incr_nextstream ()
 
unsigned int get_nbstreams () const
 
unsigned int get_arity () const
 
long total_deleted () const
 
void incr_deleted (unsigned int i)
 
unsigned long get_stream_maxlen () const
 
unsigned long get_stream_len (unsigned int i)
 
unsigned long get_buf_len ()
 
unsigned long get_buf_maxlen ()
 
bool is_empty ()
 
bool is_full () const
 
void reset ()
 
void cleanup ()
 
AMI_STREAM< T > * sort ()
 
long insert (T *a, long n)
 
long insert (AMI_STREAM< T > *str, long bos=0)
 
void print_range ()
 
void print ()
 
void print_stream_sizes ()
 

Friends

ostream & operator<< (ostream &s, em_buffer &b)
 

Detailed Description

template<class T, class Key>
class em_buffer< T, Key >

Definition at line 211 of file embuffer.h.

Constructor & Destructor Documentation

◆ em_buffer() [1/2]

template<class T , class Key >
em_buffer< T, Key >::em_buffer ( const unsigned short  i,
const unsigned long  bs,
const unsigned int  ar 
)

Definition at line 448 of file embuffer.h.

References assert, MEMORY_LOG(), and NULL.

◆ em_buffer() [2/2]

template<class T , class Key >
em_buffer< T, Key >::em_buffer ( const em_buffer< T, Key > &  buf)

◆ ~em_buffer()

template<class T , class Key >
em_buffer< T, Key >::~em_buffer ( )

Definition at line 544 of file embuffer.h.

References assert, em_buffer< T, Key >::get_streams(), and NULL.

Member Function Documentation

◆ cleanup()

◆ get_arity()

template<class T, class Key>
unsigned int em_buffer< T, Key >::get_arity ( ) const
inline

Definition at line 291 of file embuffer.h.

◆ get_bos()

template<class T, class Key>
long* em_buffer< T, Key >::get_bos ( ) const
inline

Definition at line 276 of file embuffer.h.

Referenced by em_pqueue< T, Key >::merge_buffer().

◆ get_buf_len()

template<class T, class Key>
unsigned long em_buffer< T, Key >::get_buf_len ( )
inline

Definition at line 324 of file embuffer.h.

Referenced by em_pqueue< T, Key >::merge_buffer().

◆ get_buf_maxlen()

template<class T, class Key>
unsigned long em_buffer< T, Key >::get_buf_maxlen ( )
inline

Definition at line 333 of file embuffer.h.

◆ get_level()

template<class T, class Key>
unsigned short em_buffer< T, Key >::get_level ( ) const
inline

Definition at line 260 of file embuffer.h.

Referenced by em_pqueue< T, Key >::merge_buffer().

◆ get_nbstreams()

template<class T, class Key>
unsigned int em_buffer< T, Key >::get_nbstreams ( ) const
inline

◆ get_stream()

template<class T , class Key >
AMI_STREAM< T > * em_buffer< T, Key >::get_stream ( unsigned int  i)

Definition at line 604 of file embuffer.h.

References assert, MY_LOG_DEBUG_ID, and NULL.

Referenced by em_buffer< T, Key >::get_streams().

◆ get_stream_len()

template<class T, class Key>
unsigned long em_buffer< T, Key >::get_stream_len ( unsigned int  i)
inline

◆ get_stream_maxlen()

template<class T, class Key>
unsigned long em_buffer< T, Key >::get_stream_maxlen ( ) const
inline

Definition at line 311 of file embuffer.h.

◆ get_streams()

◆ incr_deleted()

template<class T, class Key>
void em_buffer< T, Key >::incr_deleted ( unsigned int  i)
inline

Definition at line 303 of file embuffer.h.

References assert.

◆ incr_nextstream()

template<class T, class Key>
void em_buffer< T, Key >::incr_nextstream ( )
inline

Definition at line 285 of file embuffer.h.

◆ insert() [1/2]

template<class T , class Key >
long em_buffer< T, Key >::insert ( T *  a,
long  n 
)

Definition at line 1089 of file embuffer.h.

◆ insert() [2/2]

template<class T , class Key >
long em_buffer< T, Key >::insert ( AMI_STREAM< T > *  str,
long  bos = 0 
)

◆ is_empty()

template<class T, class Key>
bool em_buffer< T, Key >::is_empty ( )
inline

Definition at line 338 of file embuffer.h.

◆ is_full()

template<class T, class Key>
bool em_buffer< T, Key >::is_full ( ) const
inline

Definition at line 343 of file embuffer.h.

Referenced by em_buffer< T, Key >::insert().

◆ laststream()

template<class T, class Key>
unsigned int em_buffer< T, Key >::laststream ( ) const
inline

Definition at line 279 of file embuffer.h.

◆ nextstream()

template<class T, class Key>
unsigned int em_buffer< T, Key >::nextstream ( ) const
inline

Definition at line 282 of file embuffer.h.

Referenced by em_buffer< T, Key >::insert().

◆ print()

template<class T , class Key >
void em_buffer< T, Key >::print ( )

◆ print_range()

template<class T , class Key >
void em_buffer< T, Key >::print_range ( )

◆ print_stream_sizes()

template<class T , class Key >
void em_buffer< T, Key >::print_stream_sizes ( )

Definition at line 1315 of file embuffer.h.

References em_buffer< T, Key >::get_stream_len().

Referenced by em_buffer< T, Key >::cleanup().

◆ put_stream()

template<class T , class Key >
void em_buffer< T, Key >::put_stream ( unsigned int  i)

Definition at line 665 of file embuffer.h.

References assert, MY_LOG_DEBUG_ID, NULL, and PERSIST_PERSISTENT.

Referenced by em_buffer< T, Key >::put_streams().

◆ put_streams()

◆ reset()

template<class T , class Key >
void em_buffer< T, Key >::reset ( )

Definition at line 903 of file embuffer.h.

References assert, em_buffer< T, Key >::get_streams(), NULL, and PERSIST_DELETE.

◆ sort()

◆ total_deleted()

template<class T, class Key>
long em_buffer< T, Key >::total_deleted ( ) const
inline

Definition at line 294 of file embuffer.h.

Friends And Related Function Documentation

◆ operator<<

template<class T, class Key>
ostream& operator<< ( ostream &  s,
em_buffer< T, Key > &  b 
)
friend

Definition at line 395 of file embuffer.h.


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