/usr/include/CLucene/util/googlesparsemap.h is in libclucene-dev 0.9.21b-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
*
* Distributable under the terms of either the Apache License (Version 2.0) or
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
//note: you may be bound by the google license if you choose
//to compile your source code with the google sparsemap library
#ifndef _lucene_util_GoogleSparseMaps_H
#define _lucene_util_GoogleSparseMaps_H
#if defined(_LUCENE_PRAGMA_ONCE)
# pragma once
#endif
#ifdef _CL_HAVE_GOOGLE_DENSE_HASH_MAP
#include <google/dense_hash_map>
CL_NS_DEF(util)
template<typename _Type, typename _Equals>
class SparseMapEquals{
_Equals equals;
public:
bool operator()( _Type val1, _Type val2 ) const{
if ( val1==val2 )
return true;
else if ( val1 == NULL || val2 == NULL )
return false;
else if ( val1 == (_Type)0x02 || val2 == (_Type)0x02 )
return false;
return equals(val1,val2);
}
};
template<typename _kt, typename _vt,
typename _Hasher,
typename _Equals,
typename _KeyDeletor=CL_NS(util)::Deletor::Dummy,
typename _ValueDeletor=CL_NS(util)::Deletor::Dummy >
class CLHashMap:public __CLMap<_kt,_vt,
GOOGLE_NAMESPACE::dense_hash_map<_kt,_vt, _Hasher, SparseMapEquals<_kt,_Equals> >,
_KeyDeletor,_ValueDeletor>
{
typedef __CLMap<_kt,_vt,
GOOGLE_NAMESPACE::dense_hash_map<_kt,_vt, _Hasher, SparseMapEquals<_kt,_Equals> >,
_KeyDeletor,_ValueDeletor> _this;
public:
CLHashMap ( bool deleteKey=false, bool deleteValue=false )
{
GOOGLE_NAMESPACE::dense_hash_map<_kt,_vt, _Hasher, SparseMapEquals<_kt,_Equals> >::set_empty_key(NULL);
GOOGLE_NAMESPACE::dense_hash_map<_kt,_vt, _Hasher, SparseMapEquals<_kt,_Equals> >::set_deleted_key((_kt)0x02);
_this::setDeleteKey(deleteKey);
_this::setDeleteValue(deleteValue);
}
~CLHashMap(){
}
};
CL_NS_END
#endif //LUCENE_USE_GOOGLEMAPS
#endif
|