rlmm::basic_buffer< Lock > Struct Template Reference
[The Readline classes.]

#include <rlmm/buffer.hh>

Inheritance diagram for rlmm::basic_buffer< Lock >:

Inheritance graph
[legend]
Collaboration diagram for rlmm::basic_buffer< Lock >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<typename Lock = single_thread>
struct rlmm::basic_buffer< Lock >

Buffer readline class.

interface to the readline buffer


Public Member Functions

char * start ()
int point ()
int end ()
int mark ()
void extend (int len)
void clear ()
int insert (const std::string &text)
int insert (int c)
void next (int c)
void clear_next ()
int remove (int start, int stop)
std::string copy (int start, int stop)
void kill (int start, int stop)

Private Types

typedef guard< Lock > guard_type

Private Member Functions

 basic_buffer ()
 basic_buffer (const basic_buffer &o)
basic_bufferoperator= (const basic_buffer &o)

Friends

class singleton


Member Typedef Documentation

template<typename Lock = single_thread>
typedef guard<Lock> rlmm::basic_buffer< Lock >::guard_type [private]
 

Guard type.

Reimplemented from rlmm::singleton< basic_buffer, Lock >.


Constructor & Destructor Documentation

template<typename Lock = single_thread>
rlmm::basic_buffer< Lock >::basic_buffer  )  [inline, private]
 

Constructor.

template<typename Lock = single_thread>
rlmm::basic_buffer< Lock >::basic_buffer const basic_buffer< Lock > &  o  )  [inline, private]
 

Constructor.


Member Function Documentation

template<typename Lock = single_thread>
void rlmm::basic_buffer< Lock >::clear  )  [inline]
 

Clear the line state.

This member function can be called from signal handlers.

template<typename Lock = single_thread>
void rlmm::basic_buffer< Lock >::clear_next  )  [inline]
 

Clear a previously set next.

template<typename Lock = single_thread>
std::string rlmm::basic_buffer< Lock >::copy int  start,
int  stop
[inline]
 

Copy text from buffer.

Parameters:
start copy starts here (inclusive).
stop copy ends here (exclusive).
Returns:
the copied text.

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::end  )  [inline]
 

Return the end of the buffer.

Returns:
pointer to end of the buffer.

template<typename Lock = single_thread>
void rlmm::basic_buffer< Lock >::extend int  len  )  [inline]
 

Extend the buffer to hold at least more characters.

Parameters:
len the least lenght that the buffer should hold.

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::insert int  c  )  [inline]
 

Stuff a character into the buffer.

Parameters:
c character to be inserted at point in the buffer.
Returns:
lenght of text inserted (0 on failure, 1 on success obviously)

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::insert const std::string &  text  )  [inline]
 

Inserts text at point.

Parameters:
text to be inserted in buffer.
Returns:
lenght of text inserted

template<typename Lock = single_thread>
void rlmm::basic_buffer< Lock >::kill int  start,
int  stop
[inline]
 

Delete text and put it in kill ring.

The text from start to stop is removed from the buffer and stored in kill-ring. It can later be retrieved via a yank or similar.

Parameters:
start killing starts here (inclusive).
stop killing end here (exclusive).

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::mark  )  [inline]
 

Return the (possible) mark position in the buffer.

Returns:
the index of mark in buffer, 0 if no mark set.

template<typename Lock = single_thread>
void rlmm::basic_buffer< Lock >::next int  c  )  [inline]
 

Set the next character (command) to be read.

Parameters:
c the pending character.

template<typename Lock = single_thread>
basic_buffer& rlmm::basic_buffer< Lock >::operator= const basic_buffer< Lock > &  o  )  [inline, private]
 

Assignment operator.

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::point  )  [inline]
 

Return the point in the buffer.

Returns:
point in the buffer.

template<typename Lock = single_thread>
int rlmm::basic_buffer< Lock >::remove int  start,
int  stop
[inline]
 

Delete text in buffer.

Parameters:
start Delete start here (inclusive).
stop Delete ends here (exclusive).
Returns:
number of characters deleted

template<typename Lock = single_thread>
char* rlmm::basic_buffer< Lock >::start  )  [inline]
 

Return the internal buffer.

Returns:
the internal buffer used.


Friends And Related Function Documentation

template<typename Lock = single_thread>
friend class singleton [friend]
 

base class is friend


The documentation for this struct was generated from the following file:
Top of page
Last update Fri Aug 26 15:19:53 2005
Christian Holm
Created by DoxyGen 1.4.4