Fresco/Babylon/src Dictionary.cc,1.14,1.15
Tobias Hunger <[email protected]>
| Newsgroups | gmane.comp.video.fresco.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvs/fresco/Fresco/Babylon/src
In directory purcel:/tmp/cvs-serv15454/src
Modified Files:
Dictionary.cc
Log Message:
Adopt the changes to the RWLock Class in Prague. Yahoo! Locking should
actually work now;-)
Index: Dictionary.cc
===================================================================
RCS file: /cvs/fresco/Fresco/Babylon/src/Dictionary.cc,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- Dictionary.cc 21 Sep 2002 12:21:29 -0000 1.14
+++ Dictionary.cc 29 Mar 2003 01:51:43 -0000 1.15
@@ -69,7 +69,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_defined(...)");
bool result = 0;
- Prague::Guard<RWLock> guard(m_rw_lock);
+ Prague::Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_defined(uc);
return result;
}
@@ -78,7 +78,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::uppercase(...)");
UCS4 result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->uppercase(uc);
return result;
}
@@ -88,7 +88,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::lowercase(...)");
UCS4 result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->lowercase(uc);
return result;
}
@@ -98,7 +98,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::titlecase(...)");
UCS4 result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->titlecase(uc);
return result;
}
@@ -108,7 +108,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::numeric_value(...)");
float result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
if (!find_char(uc)->is_Numeric(uc)) {
m_rw_lock.unlock();
throw Undefined_Property(uc, PROP_NUMERIC_VALUE);
@@ -122,7 +122,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::dec_digit_value(...)");
int result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
if (!find_char(uc)->is_Decimal_Digit(uc)) {
m_rw_lock.unlock();
throw Undefined_Property(uc, PROP_DEC_DIGIT_VALUE);
@@ -136,7 +136,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::digit_value(...)");
int result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
if (!(find_char(uc)->is_Digit(uc))) {
m_rw_lock.unlock();
throw Undefined_Property(uc, PROP_DIGIT_VALUE);
@@ -150,7 +150,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::blockname(...)");
std::string result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->blockname(uc);
return result;
}
@@ -160,7 +160,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::category(...)");
Gen_Cat result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->category(uc);
if (result == CAT_MAX) {
m_rw_lock.unlock();
@@ -174,7 +174,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::comb_class(...)");
Can_Comb_Class result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->comb_class(uc);
if (result == CC_MAX) {
m_rw_lock.unlock();
@@ -188,7 +188,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::bidir_props(...)");
Bidir_Props result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->bidir_props(uc);
if (result == BIDIR_INVALID) {
m_rw_lock.unlock();
@@ -202,7 +202,7 @@
throw (Undefined_Property, Block_Error) {
Prague::Trace trace("Babylon::Dictionary::decomp_type(...)");
Char_Decomp result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->decomp_type(uc);
if (result == DECOMP_MAX) {
m_rw_lock.unlock();
@@ -216,7 +216,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::decompose(...)");
UTF32_string result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->decompose(uc);
return result;
}
@@ -226,7 +226,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::compose(...)");
UCS4 result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(starter)->compose(starter, last);
return result;
}
@@ -236,7 +236,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::must_mirror(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->must_mirror(uc);
return result;
}
@@ -246,7 +246,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::EA_width(...)");
EA_Width result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->EA_width(uc);
return result;
}
@@ -256,7 +256,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::linebreak(...)");
Line_Break result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result=find_char(uc)->linebreak(uc);
return result;
}
@@ -267,7 +267,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_White_space(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_White_Space(uc);
return result;
}
@@ -277,7 +277,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Bidi_Control(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Bidi_Control(uc);
return result;
}
@@ -287,7 +287,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Join_Control(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Join_Control(uc);
return result;
}
@@ -297,7 +297,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Dash(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Dash(uc);
return result;
}
@@ -307,7 +307,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Hyphen(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Hyphen(uc);
return result;
}
@@ -317,7 +317,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Quotation_Mark(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Quotation_Mark(uc);
return result;
}
@@ -327,7 +327,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Terminal_Punctuation(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Terminal_Punctuation(uc);
return result;
}
@@ -337,7 +337,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Other_Math(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Other_Math(uc);
return result;
}
@@ -347,7 +347,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Hex_Digit(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Hex_Digit(uc);
return result;
}
@@ -357,7 +357,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Other_Alphabetic(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Other_Alphabetic(uc);
return result;
}
@@ -367,7 +367,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Ideographic(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Ideographic(uc);
return result;
}
@@ -377,7 +377,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Diacritic(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Diacritic(uc);
return result;
}
@@ -387,7 +387,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Extender(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Extender(uc);
return result;
}
@@ -397,7 +397,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Other_Uppercase(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Other_Uppercase(uc);
return result;
}
@@ -407,7 +407,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Other_Lowercase(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Other_Lowercase(uc);
return result;
}
@@ -417,7 +417,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Noncharacter_Code_Point(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Noncharacter_Code_Point(uc);
return result;
}
@@ -426,7 +426,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Decimal_Digit(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Decimal_Digit(uc);
return result;
}
@@ -435,7 +435,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Digit(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Digit(uc);
return result;
}
@@ -444,7 +444,7 @@
throw (Block_Error) {
Prague::Trace trace("Babylon::Dictionary::is_Numeric(...)");
bool result;
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
result = find_char(uc)->is_Numeric(uc);
return result;
}
@@ -459,7 +459,7 @@
std::vector<Data>::const_iterator b;
Data tmp(uc, uc);
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
b = lower_bound(m_data.begin(), m_data.end(), tmp, DataLess());
if (b->m_start <= uc && b->m_end >= uc)
result = b->m_start;
@@ -475,7 +475,7 @@
std::vector<Data>::const_iterator b;
Data tmp(uc, uc);
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
b = lower_bound(m_data.begin(), m_data.end(), tmp, DataLess());
if (b->m_start <= uc && b->m_end >= uc)
result = b->m_end;
@@ -491,7 +491,7 @@
std::vector<Data>::const_iterator b;
Data tmp(uc, uc);
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
b = lower_bound(m_data.begin(), m_data.end(), tmp, DataLess());
if (b != m_data.end()) {
if (b->m_end >= uc)
@@ -525,7 +525,7 @@
}
{
- Guard<RWLock> guard(m_rw_lock);
+ Guard<RWLock, RLockTrait> guard(m_rw_lock);
decomp = decompose(uc);
}
if(decomp[0] != uc && !(compat && decomp_type(uc) == DECOMP_COMPAT))
@@ -577,7 +577,7 @@
{
Prague::Trace trace("Babylon::Dictionary::update(...)");
- Guard<RWLock, WLock_Trait<RWLock> > guard(m_rw_lock);
+ Guard<RWLock, WLockTrait> guard(m_rw_lock);
clean();
Prague::Directory dir(scanDir, 0);
@@ -641,7 +641,7 @@
Dictionary::Dictionary() {
Prague::Trace trace("Babylon::Dictionary::Dictionary()");
{
- Guard<RWLock, WLock_Trait<RWLock> > guard(m_rw_lock);
+ Guard<RWLock, WLockTrait> guard(m_rw_lock);
m_version.resize(1);
m_version[0] = UC_NULL;
m_undef_block = 0;
@@ -663,7 +663,7 @@
Dictionary::~Dictionary() {
Prague::Trace trace("Babylon::Dictionary::~Dictionary()");
- Guard<RWLock, WLock_Trait<RWLock> > guard(m_rw_lock);
+ Guard<RWLock, WLockTrait> guard(m_rw_lock);
clean();
} // Dictionary::~Dictionary()