Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

xmog_bool Class Reference

A wrapper type for boolean proxies. More...

#include <xmog_java_field.h>

Inheritance diagram for xmog_bool:

Inheritance graph
[legend]
Collaboration diagram for xmog_bool:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 xmog_bool (xmog_java_array *_ref, jint _index)
 Creates an instance that acts as a proxy for an element of a boolean array.
 xmog_bool (xmog_java_ref *_clazz_ref_array, xmog_java_dynamic *_dynamic, xmog_flags _flags=0)
 Creates an instance that acts as a proxy for an indirect element of boolean type.
 operator bool () const
 A conversion operator to the bool type.
bool operator * () const
 The dereference operator converts to the bool type.
xmog_booloperator= (bool)
 An assignment operator from the bool type.
bool get (xmog_localenv *env=NULL, bool readThrough=false) const
 Returns the value of a bool proxy instance.
void set (bool b, xmog_localenv *env=NULL, bool writeThrough=false)
 Sets the value of a bool proxy.

Detailed Description

A wrapper type for boolean proxies.

This type wraps the Java boolean type in a proxy type that uses the built-in C++ bool type to represent the Java type. Conversion operators allow convenient usage while the get/set methods take an optional xmog_localenv argument for better performance (by saving at least a threadlocal memory access). The set(bool,xmog_localenv*,bool) method also takes an optional bool argument that governs whether the change should be written through to the Java side unconditionally, ignoring a possibly set CACHE_LAZY_WRITE flag.

Primitive proxy types only exist in two flavors: as array elements and as fields (static and instance). There are two contructors to support those two flavors.


Constructor & Destructor Documentation

xmog_bool::xmog_bool xmog_java_array _ref,
jint  _index
 

Creates an instance that acts as a proxy for an element of a boolean array.

Parameters:
_ref a pointer to an array proxy element.
_index the index of the element.

xmog_bool::xmog_bool xmog_java_ref _clazz_ref_array,
xmog_java_dynamic _dynamic,
xmog_flags  _flags = 0
 

Creates an instance that acts as a proxy for an indirect element of boolean type.

Parameters:
_clazz_ref_array a pointer to the owner of the primitive value.
_dynamic the algorithm to access the value.
_flags additional processing arguments.


Member Function Documentation

bool xmog_bool::get xmog_localenv env = NULL,
bool  readThrough = false
const
 

Returns the value of a bool proxy instance.

This method takes two optional arguments that can be used to improve overall performance or force a read from the Java side even if a cached value is available.

Parameters:
env a local environment pointer. May be NULL.
readThrough true if the value should be read from the Java side unconditionally, false if a cached value should be used if available. This flag is ignored if the instance does not use caching or if it does not yet have a cached value.

bool xmog_bool::operator *  )  const
 

The dereference operator converts to the bool type.

This operator is declared to support array iterators.

xmog_bool::operator bool  )  const
 

A conversion operator to the bool type.

This operator allows the use of proxy instances of this type in any place where the compiler expects a primitive bool rhs-value. You can achieve better performance by using the get(xmog_localenv*,bool) method with the proper arguments.

xmog_bool& xmog_bool::operator= bool   ) 
 

An assignment operator from the bool type.

This operator allows the use of proxy instances of this type in any place where the compiler expects a primitive bool lhs-value. You can achieve better performance by using the set(bool,xmog_localenv*,bool) method with the proper arguments.

void xmog_bool::set bool  b,
xmog_localenv env = NULL,
bool  writeThrough = false
 

Sets the value of a bool proxy.

This method takes two optional arguments that can be used to improve overall performance or force a write to the Java side even if the CACHE_LAZY_WRITE policy is in effect for this instance.

Parameters:
b the new value.
env a local environment pointer. May be NULL.
writeThrough true if the value should be written to the Java side unconditionally, false if only the cached value should be updated. This flag is ignored if the instance does not use caching.


The documentation for this class was generated from the following file:
Generated on Wed May 31 14:01:21 2006 for Shared Codemesh Runtime Library API Reference by  doxygen 1.4.1