Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Svc_Conf_Lexer_Guard Class Reference

"Guard" that ensures lexer buffer switching is exception-safe. More...

#include <Svc_Conf_Lexer_Guard.h>

Collaboration diagram for ACE_Svc_Conf_Lexer_Guard:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Svc_Conf_Lexer_Guard (ACE_Svc_Conf_Param *param)
 Constructor. More...

 ~ACE_Svc_Conf_Lexer_Guard (void)
 Destructor. More...


Private Attributes

ace_yy_buffer_statebuffer_
 Lexer buffer that corresponds to the current Service Configurator file/direct scan.


Detailed Description

"Guard" that ensures lexer buffer switching is exception-safe.

Buffers are switched, if necessary, each time a token is parsed/scanned. The buffer switching must be synchronized externally. This class performs no synchronization.

Note:
Note that allocation/deallocation is done once during the processing of a service configurator directive. Memory managements is done at a higher level, not in this class. This is necessary to prevent an allocation/deallocation from occurring when parsing/scanning each token.


Constructor & Destructor Documentation

ACE_Svc_Conf_Lexer_Guard::ACE_Svc_Conf_Lexer_Guard ( ACE_Svc_Conf_Param * param ) [inline]
 

Constructor.

Switches buffers, if necessary, when token scanning first begins. Allocation of the buffer will also occur if one has not already been allocated. This operation effectively pushes a buffer on to a stack.

ACE_Svc_Conf_Lexer_Guard::~ACE_Svc_Conf_Lexer_Guard ( void )
 

Destructor.

Switches buffers, if necessary when token scanning completes. No buffer deallocation occurs here. Buffers are deallocated when parsing of the entire directive is done, not when scanning of a single token is done. This operation effective pops a buffer off of a stack.


Member Data Documentation

ace_yy_buffer_state * ACE_Svc_Conf_Lexer_Guard::buffer_ [private]
 

Lexer buffer that corresponds to the current Service Configurator file/direct scan.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 11:05:40 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000