Canola  0.8.D001
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
interpose_memory Class Reference

#include <memory.h>

Inheritance diagram for interpose_memory:
interpose interpose_memory_cm interpose_memory_m interpose_memory_rm interpose_memory_sm

List of all members.

Public Member Functions

virtual ~interpose_memory ()
void on_opcode (opcode_t op, const location::pointer &where)
void on_error_v (const char *fmt, va_list ap)

Protected Member Functions

 interpose_memory (const pointer &deeper, int base, const location::pointer &start)
bool strict_memory_number_checking_required (void) const

Private Member Functions

 interpose_memory ()
 interpose_memory (const interpose_memory &rhs)
interpose_memoryoperator= (const interpose_memory &rhs)

Private Attributes

pointer deeper
int base
location::pointer start

Detailed Description

The interpose_memory class is used to represent the processing required to glue a key stroke to an xM3~ key, to build a complete xM(n) pseudo keystroke.

Definition at line 28 of file memory.h.


Constructor & Destructor Documentation

The destructor.

Definition at line 21 of file memory.cc.

interpose_memory::interpose_memory ( const pointer deeper,
int  base,
const location::pointer start 
) [protected]

The constructor. For use by derived classes only.

Parameters:
deeperWhere to send the stateless key stream.
baseThe base value of the range of opcodes corresponding to digits, counting from zero (even if zero isn't legal).
startwhere the XM3~ token was

Definition at line 26 of file memory.cc.

The default constructor. Do not use.

The copy constructor. Do not use.

Parameters:
rhsThe right hand side of the initialization.

Member Function Documentation

void interpose_memory::on_error_v ( const char *  fmt,
va_list  ap 
) [virtual]

The on_error_v method is used to report errors processing the key stream.

Parameters:
fmtThe format of the error. This controls the numer and types of the following arguments.
apThe following arguments.

Implements interpose.

Definition at line 350 of file memory.cc.

void interpose_memory::on_opcode ( opcode_t  op,
const location::pointer where 
) [virtual]

The on_opcode method is used to process keys that have a corresponding opcode.

Parameters:
opThe opcode (usually a key stroke) of interest
whereThe source file location, or NULL if not available.

Implements interpose.

Definition at line 40 of file memory.cc.

interpose_memory& interpose_memory::operator= ( const interpose_memory rhs) [private]

The assignment operator. Do not use.

Parameters:
rhsThe right hand side of the assignment.
bool interpose_memory::strict_memory_number_checking_required ( void  ) const [protected, virtual]

The strict_memory_number_checking_required method is used to determine whether or not the number keys following M3~ keys (et al) must be followed by a digit key (true) or any key (false). The actual 1614P silently permits any key, and uses only the lower 4 bits.

Implements interpose.

Definition at line 357 of file memory.cc.


Member Data Documentation

int interpose_memory::base [private]

The base instance variable is used to remember the base value of the range of opcodes corresponding to digits, counting from zero (even if zero isn't legal).

Definition at line 74 of file memory.h.

The deeper instance variable is used to remember where to send the stateless key stream.

Definition at line 67 of file memory.h.

The location of the first opcode, the one that is being extended.

Definition at line 79 of file memory.h.


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