<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>textindex/_xapian.dll</filename>
    </added>
    <added>
      <filename>textindex/mp3tag.py</filename>
    </added>
    <added>
      <filename>textindex/testxapian.py</filename>
    </added>
    <added>
      <filename>textindex/xapian.py</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -4,7 +4,7 @@
 
 
  /* File created by MIDL compiler version 6.00.0361 */
-/* at Sat Apr 01 15:31:23 2006
+/* at Sun Jul 16 11:58:43 2006
  */
 /* Compiler settings for _tstlib.idl:
     Oicf, W1, Zp8, env=Win32 (32b run)</diff>
      <filename>com/tstlib/_tstlib.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
-import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\prsht.idl&quot;;
-import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\mshtml.idl&quot;;
-import &quot;e:\program files\microsoft visual studio .net 2003\vc7\platformsdk\include\dimm.idl&quot;;
-import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\mshtmhst.idl&quot;;
-import &quot;e:\program files\microsoft visual studio .net 2003\vc7\platformsdk\include\docobj.idl&quot;;
-import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\exdisp.idl&quot;;
-import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\objsafe.idl&quot;;
+import &quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\prsht.idl&quot;;
+import &quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\mshtml.idl&quot;;
+import &quot;c:\program files\microsoft visual studio .net 2003\vc7\platformsdk\include\dimm.idl&quot;;
+import &quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\mshtmhst.idl&quot;;
+import &quot;c:\program files\microsoft visual studio .net 2003\vc7\platformsdk\include\docobj.idl&quot;;
+import &quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\exdisp.idl&quot;;
+import &quot;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\include\objsafe.idl&quot;;
 
 [
 	object,
@@ -13,9 +13,9 @@ import &quot;E:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\inclu
 	helpstring(&quot;Interface IDocumentsScore&quot;),
 	pointer_default(unique)
 ] 
-#line 35 &quot;c:\\projets\\development\\tst\\com\\tstlib\\documentsscore.h&quot;
+#line 35 &quot;d:\\projets\\tst\\com\\tstlib\\documentsscore.h&quot;
 interface IDocumentsScore : IDispatch {
-#line 37 &quot;c:\\projets\\development\\tst\\com\\tstlib\\documentsscore.h&quot;
+#line 37 &quot;d:\\projets\\tst\\com\\tstlib\\documentsscore.h&quot;
 	[propget,id(1),helpstring(&quot;property Size&quot;)] HRESULT  Size([out,retval] LONG *pVal);
 	[id(2),helpstring(&quot;method GetDocument&quot;)] HRESULT  GetDocument([in] LONG index, [out,retval] BSTR *document );
 	[id(3),helpstring(&quot;method GetScore&quot;)] HRESULT  GetScore([in] LONG index, [out,retval] LONG *score);
@@ -28,9 +28,9 @@ interface IDocumentsScore : IDispatch {
 	helpstring(&quot;Interface ITextIndex&quot;),
 	pointer_default(unique)
 ] 
-#line 18 &quot;c:\\projets\\development\\tst\\com\\tstlib\\textindex.h&quot;
+#line 18 &quot;d:\\projets\\tst\\com\\tstlib\\textindex.h&quot;
 interface ITextIndex : IDispatch {
-#line 20 &quot;c:\\projets\\development\\tst\\com\\tstlib\\textindex.h&quot;
+#line 20 &quot;d:\\projets\\tst\\com\\tstlib\\textindex.h&quot;
 	[id(1),helpstring(&quot;method AddWord&quot;)] HRESULT  AddWord([in] BSTR *word , [in] BSTR *document );
 	[id(2),helpstring(&quot;method AddText&quot;)] HRESULT  AddText([in] BSTR *text , [in] BSTR *document );
 	[id(3),helpstring(&quot;method Pack&quot;)] HRESULT  Pack();
@@ -54,7 +54,7 @@ library tstlib
 		uuid(98F35214-F66B-4BBF-B039-1AA4CA344DCF),
 		helpstring(&quot;DocumentsScore Class&quot;)
 	] 
-#line 55 &quot;c:\\projets\\development\\tst\\com\\tstlib\\documentsscore.h&quot;
+#line 55 &quot;d:\\projets\\tst\\com\\tstlib\\documentsscore.h&quot;
 	coclass CDocumentsScore {
 		interface IDocumentsScore;
 	};
@@ -64,7 +64,7 @@ library tstlib
 		uuid(8EC92961-CAB3-4CA6-A36E-46C39424E80B),
 		helpstring(&quot;TextIndex Class&quot;)
 	] 
-#line 45 &quot;c:\\projets\\development\\tst\\com\\tstlib\\textindex.h&quot;
+#line 45 &quot;d:\\projets\\tst\\com\\tstlib\\textindex.h&quot;
 	coclass CTextIndex {
 		interface ITextIndex;
 	};</diff>
      <filename>com/tstlib/_tstlib.idl</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>com/tstlib/_tstlib.tlb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@
 
 
  /* File created by MIDL compiler version 6.00.0361 */
-/* at Sat Apr 01 15:31:23 2006
+/* at Sun Jul 16 11:58:43 2006
  */
 /* Compiler settings for _tstlib.idl:
     Oicf, W1, Zp8, env=Win32 (32b run)</diff>
      <filename>com/tstlib/_tstlib_i.c</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@
 
 
  /* File created by MIDL compiler version 6.00.0361 */
-/* at Sat Apr 01 15:31:23 2006
+/* at Sun Jul 16 11:58:43 2006
  */
 /* Compiler settings for _tstlib.idl:
     Oicf, W1, Zp8, env=Win32 (32b run)</diff>
      <filename>com/tstlib/_tstlib_p.c</filename>
    </modified>
    <modified>
      <diff>@@ -90,7 +90,7 @@
 			CharacterSet=&quot;2&quot;&gt;
 			&lt;Tool
 				Name=&quot;VCCLCompilerTool&quot;
-				AdditionalIncludeDirectories=&quot;c:\projets\boost_1_33_1\;..\..\include&quot;
+				AdditionalIncludeDirectories=&quot;d:\projets\boost_1_33_1\;..\..\include&quot;
 				PreprocessorDefinitions=&quot;WIN32;_WINDOWS;NDEBUG;_USRDLL;_ATL_ATTRIBUTES&quot;
 				RuntimeLibrary=&quot;2&quot;
 				UsePrecompiledHeader=&quot;3&quot;
@@ -105,7 +105,7 @@
 				AdditionalOptions=&quot;comsupp.lib&quot;
 				OutputFile=&quot;$(OutDir)/tstlib.dll&quot;
 				LinkIncremental=&quot;1&quot;
-				AdditionalLibraryDirectories=&quot;&amp;quot;c:\projets\boost_1_33_1\bin\boost\libs\regex\build\libboost_regex.lib\vc-7_1\release\threading-multi&amp;quot;&quot;
+				AdditionalLibraryDirectories=&quot;&amp;quot;d:\projets\boost_1_33_1\bin\boost\libs\regex\build\libboost_regex.lib\vc-7_1\release\threading-multi&amp;quot;&quot;
 				MergedIDLBaseFileName=&quot;_tstlib.idl&quot;
 				GenerateDebugInformation=&quot;TRUE&quot;
 				SubSystem=&quot;2&quot;
@@ -210,10 +210,10 @@
 				RelativePath=&quot;.\stdafx.h&quot;&gt;
 			&lt;/File&gt;
 			&lt;File
-				RelativePath=&quot;..\..\textindex\textindex.h&quot;&gt;
+				RelativePath=&quot;.\TextIndex.h&quot;&gt;
 			&lt;/File&gt;
 			&lt;File
-				RelativePath=&quot;.\TextIndex.h&quot;&gt;
+				RelativePath=&quot;..\..\textindex\textindex.h&quot;&gt;
 			&lt;/File&gt;
 			&lt;File
 				RelativePath=&quot;..\..\include\tst.h&quot;&gt;</diff>
      <filename>com/tstlib/tstlib.vcproj</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,10 @@
 &quot;FILE_VERSION&quot; = &quot;9237&quot;
 &quot;ENLISTMENT_CHOICE&quot; = &quot;NEVER&quot;
 &quot;PROJECT_FILE_RELATIVE_PATH&quot; = &quot;&quot;
-&quot;NUMBER_OF_EXCLUDED_FILES&quot; = &quot;0&quot;
+&quot;NUMBER_OF_EXCLUDED_FILES&quot; = &quot;3&quot;
+&quot;EXCLUDED_FILE0&quot; = &quot;_tstlib_p.c&quot;
+&quot;EXCLUDED_FILE1&quot; = &quot;dlldata.c&quot;
+&quot;EXCLUDED_FILE2&quot; = &quot;_tstlib_i.c&quot;
 &quot;ORIGINAL_PROJECT_FILE_PATH&quot; = &quot;&quot;
 &quot;NUMBER_OF_NESTED_PROJECTS&quot; = &quot;0&quot;
 &quot;SOURCE_CONTROL_SETTINGS_PROVIDER&quot; = &quot;PROJECT&quot;</diff>
      <filename>com/tstlib/tstlibPS.vcproj.vspscc</filename>
    </modified>
    <modified>
      <diff>@@ -1436,7 +1436,7 @@ template&lt;typename charT,typename valueT,typename storageT,typename serializerT,
     // We save the version number
     size_t version_length = strlen(TST_VERSION);
     file.write((char*)(&amp;version_length),sizeof(size_t));
-    file.write(TST_VERSION,version_length);
+	file.write(TST_VERSION,(std::streamsize)version_length);
 
     serializerT writer;
     writer.write(file,default_value);</diff>
      <filename>include/tst.h</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 rmdir /s /q build include
 mkdir include &amp; xcopy ..\include include
 swig -O -Iinclude -DSCANNER -c++ -python tst.i
-e:\python23\python setup.py clean build --compile=mingw32 sdist bdist_wininst
+c:\python23\python setup.py clean build --compile=mingw32 sdist bdist_wininst
 rmdir /s /q build include</diff>
      <filename>python/build23.bat</filename>
    </modified>
    <modified>
      <diff>@@ -33,7 +33,6 @@
 
 typedef qad_string&lt;char&gt; string_type;
 
-
 class CallableAction : public action&lt;char,PythonReference,string_type &gt; {
 public:
     CallableAction(PythonReference perform,PythonReference result) : _perform(perform), _result(result) {</diff>
      <filename>python/pythonTST.h</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@
 # one containing a subdirectory called &quot;boost/&quot; and a sub-subdirectory
 # &quot;boost/python/&quot; full of .hpp files).  Absolute paths work, too.
 #
-path-global BOOST_ROOT : c:/projets/boost_1_33_1 ;
+path-global BOOST_ROOT : d:/projets/boost_1_33_1 ;
 
 # Boost.Python configuration variables, as described in
 # http://www.boost.org/libs/python/doc/building.html#configuration.</diff>
      <filename>python/with_boost/Jamrules</filename>
    </modified>
    <modified>
      <diff>@@ -3,4 +3,4 @@
 
 # Edit this path to point at the tools/build/v1 subdirectory of your
 # Boost installation.  Absolute paths work, too.
-boost-build c:/projets/boost_1_33_1/tools/build/v1 ;
+boost-build d:/projets/boost_1_33_1/tools/build/v1 ;</diff>
      <filename>python/with_boost/boost-build.jam</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-bjam -sPYTHON_VERSION=2.4 -sZLIB_SOURCE=c:\projets\httpd-2.2.0\srclib\zlib -sPYTHON_ROOT=e:\python24 -sBUILD=release %*
+bjam -sPYTHON_VERSION=2.4 -sZLIB_SOURCE=d:\projets\zlib-1.2.3 -sPYTHON_ROOT=c:\python24 -sBUILD=release %*
 copy bin\boost\libs\python\build\boost_python.dll\vc-7_1\release\threading-multi\boost_python.dll .
 copy bin\with_boost\tst.pyd\vc-7_1\release\threading-multi\tst.pyd .
 python zipit.py</diff>
      <filename>python/with_boost/build.bat</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>python/with_boost/tst.pyd</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@
 # one containing a subdirectory called &quot;boost/&quot; and a sub-subdirectory
 # &quot;boost/python/&quot; full of .hpp files).  Absolute paths work, too.
 #
-path-global BOOST_ROOT : c:/projets/boost_1_33_1 ;
+path-global BOOST_ROOT : d:/projets/boost_1_33_1 ;
 
 # Boost.Python configuration variables, as described in
 # http://www.boost.org/libs/python/doc/building.html#configuration.</diff>
      <filename>textindex/Jamrules</filename>
    </modified>
    <modified>
      <diff>@@ -3,4 +3,4 @@
 
 # Edit this path to point at the tools/build/v1 subdirectory of your
 # Boost installation.  Absolute paths work, too.
-boost-build c:/projets/boost_1_33_1/tools/build/v1 ;
+boost-build d:/projets/boost_1_33_1/tools/build/v1 ;</diff>
      <filename>textindex/boost-build.jam</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>textindex/boost_python.dll</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
-bjam -sPYTHON_VERSION=2.4 -sPYTHON_ROOT=e:\python24 -sBUILD=release %1 %2 %3 %4 %5 %6 %7 %8 %9
+bjam -sPYTHON_VERSION=2.4 -sPYTHON_ROOT=c:\python24 -sBUILD=release %1 %2 %3 %4 %5 %6 %7 %8 %9
 copy bin\boost\libs\python\build\boost_python.dll\vc-7_1\release\threading-multi\boost_python.dll .
 copy bin\textindex\textindex.pyd\vc-7_1\release\threading-multi\textindex.pyd .</diff>
      <filename>textindex/build.bat</filename>
    </modified>
    <modified>
      <diff>@@ -55,7 +55,7 @@ if __name__ == &quot;__main__&quot;:
                 
                 self.entry = Entry(self.frame, name='input')
                 self.entry.pack(fill=X)
-                self.entry.bind('&lt;Key&gt;',self.keyPressed)
+                self.entry.bind('&lt;KeyRelease&gt;',self.keyPressed)
                 
                 frame = Frame(self.frame)
                 frame.pack(fill=BOTH, expand=1)</diff>
      <filename>textindex/test.py</filename>
    </modified>
    <modified>
      <diff>@@ -20,14 +20,19 @@
 #include &lt;string&gt;
 #include &lt;iostream&gt;
 #include &lt;fstream&gt;
-#include &lt;boost/iostreams/filtering_stream.hpp&gt;
-#include &lt;boost/iostreams/filter/zlib.hpp&gt;
 #include &lt;boost/python.hpp&gt;
 using namespace boost::python;
 
+#define COMPRESS_INDEX_FILE
+#ifdef COMPRESS_INDEX_FILE
+#include &lt;boost/iostreams/filtering_stream.hpp&gt;
+#include &lt;boost/iostreams/filter/zlib.hpp&gt;
+#endif
+
 #define __PYTHON__BUILD__
 #include &quot;textindex.h&quot;
 
+
 class object_serializer {
     public:
         object_serializer();
@@ -86,22 +91,29 @@ template &lt;typename character_type&gt; class python_textindex : public textindex&lt;cha
         
         void write_to_file(str file) {
             std::ofstream out(PyString_AsString(file.ptr()),std::ofstream::binary|std::ofstream::out|std::ofstream::trunc);
-            boost::iostreams::filtering_ostream fout;
-            fout.push(boost::iostreams::zlib_compressor());
-            fout.push(out);
-            write(fout);
-            fout.strict_sync();
-            // out.close();
+            out.exceptions(std::ofstream::eofbit | std::ofstream::failbit | std::ofstream::badbit);
+            #ifdef COMPRESS_INDEX_FILE
+                boost::iostreams::filtering_ostream fout;
+                fout.push(boost::iostreams::zlib_compressor());
+                fout.push(out);
+                write(fout);
+                fout.strict_sync();
+            #else
+                write(out);
+            #endif
         }
         
         void read_from_file(object file) {
             std::ifstream in(PyString_AsString(file.ptr()),std::ifstream::binary|std::ifstream::in);
             in.exceptions(std::ifstream::eofbit | std::ifstream::failbit | std::ifstream::badbit);
-            boost::iostreams::filtering_istream fin;
-            fin.push(boost::iostreams::zlib_decompressor());
-            fin.push(in);
-            read(fin);
-            // in.close();
+            #ifdef COMPRESS_INDEX_FILE
+                boost::iostreams::filtering_istream fin;
+                fin.push(boost::iostreams::zlib_decompressor());
+                fin.push(in);
+                read(fin);
+            #else
+                read(in);
+            #endif
         }
 
     protected:</diff>
      <filename>textindex/textindex.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -26,21 +26,25 @@
 #include &lt;boost/regex.hpp&gt;
 #include &lt;iostream&gt;
 
-template &lt;class pair&gt; inline bool sort_by_document(const pair&amp; lhs, const pair&amp; rhs)
+template &lt;class pair&gt;
+inline bool sort_by_document(const pair&amp; lhs, const pair&amp; rhs)
 {
     return lhs.first &lt; rhs.first;
 }
 
-template &lt;class pair&gt; inline bool sort_by_score(const pair&amp; lhs, const pair&amp; rhs)
+template &lt;class pair&gt;
+inline bool sort_by_score(const pair&amp; lhs, const pair&amp; rhs)
 {
     return lhs.second &gt; rhs.second;
 }
 
-template &lt;class item&gt; inline bool sort_by_first_item_length_desc(const item&amp; lhs, const item&amp; rhs) {
+template &lt;class item&gt;
+inline bool sort_by_first_item_length_desc(const item&amp; lhs, const item&amp; rhs) {
     return lhs.begin()-&gt;length() &gt; rhs.begin()-&gt;length();
 }
 
-template &lt;typename document_id_type, typename score_type&gt; class documents_scores {
+template &lt;typename document_id_type, typename score_type&gt;
+class documents_scores {
     public:
         typedef std::pair&lt;document_id_type,score_type&gt; pair_type;
         typedef std::map&lt;document_id_type,score_type&gt; storage_type;
@@ -164,8 +168,11 @@ template &lt;typename document_id_type, typename score_type&gt; class documents_scores
 };
 
 
-template &lt; typename character_type, typename document_type, typename reader_writer, typename document_id_type = unsigned int, typename score_type = unsigned int &gt; class textindex {
+template &lt; typename character_type, typename document_type, typename reader_writer, typename document_id_type = unsigned int, typename score_type = unsigned int&gt;
+class textindex {
     public:
+        // Cha&#238;nes de caract&#232;res
+        typedef std::basic_string&lt;typename character_type&gt; string_type;
 
         // Mapping document &lt;=&gt; id
         typedef std::map&lt; typename document_type, document_id_type &gt; documents_ids_type;
@@ -175,7 +182,7 @@ template &lt; typename character_type, typename document_type, typename reader_writ
         typedef documents_scores&lt; typename document_id_type, typename score_type &gt; documents_scores_type;
         typedef typename documents_scores_type::shared_ptr documents_scores_pointer; 
         typedef typename documents_scores_type::serializer documents_scores_serializer; 
-        typedef string_tst &lt; character_type, typename documents_scores_pointer, memory_storage&lt;character_type, typename documents_scores_pointer&gt;, documents_scores_serializer &gt; tree_type;
+        typedef tst &lt; character_type, typename documents_scores_pointer, memory_storage&lt;character_type, typename documents_scores_pointer&gt;, documents_scores_serializer, typename string_type &gt; tree_type;
 
         // R&#233;sultat des requ&#234;tes
         typedef std::pair&lt; document_type, score_type &gt; pair_type;
@@ -184,14 +191,14 @@ template &lt; typename character_type, typename document_type, typename reader_writ
 
         // Regexes
         typedef boost::basic_regex &lt; character_type &gt; regex_type;
-        typedef boost::regex_iterator&lt;typename std::basic_string&lt;character_type&gt;::const_iterator&gt; regex_type_iterator;
+        typedef boost::regex_iterator&lt;typename string_type::const_iterator&gt; regex_type_iterator;
 
-        class collector : public action&lt; typename character_type, typename documents_scores_pointer &gt; {
+        class collector : public action&lt; typename character_type, typename documents_scores_pointer, typename string_type&gt; {
             public:
                 collector(collector* _intersect=0) : intersect(_intersect), entries(new documents_scores_type(0)) {
                 }
             
-                virtual void perform(const character_type* string, size_t string_length, int remaining_distance, typename documents_scores_pointer data) {
+                virtual void perform(const typename string_type&amp; string, int remaining_distance, typename documents_scores_pointer data) {
                     entries-&gt;merge_with(*data,intersect ? intersect-&gt;entries.get() : 0);
                 }
                 
@@ -216,12 +223,12 @@ template &lt; typename character_type, typename document_type, typename reader_writ
                 documents_scores_pointer entries;
         };
         
-        class eraser : public action&lt; typename character_type, typename documents_scores_pointer &gt; {
+        class eraser : public action&lt; typename character_type, typename documents_scores_pointer, typename string_type &gt; {
             public:
                 eraser(document_id_type _document_id) : document_id(_document_id) {
                 }
             
-                virtual void perform(const character_type* string, size_t string_length, int remaining_distance, typename documents_scores_pointer data) {
+                virtual void perform(const typename string_type&amp; string, int remaining_distance, typename documents_scores_pointer data) {
                     data-&gt;remove_document(document_id);
                 }
                 
@@ -233,16 +240,16 @@ template &lt; typename character_type, typename document_type, typename reader_writ
                 document_id_type document_id;
         };
 
-        class cleaner : public action&lt; typename character_type, typename documents_scores_pointer &gt; {
+        class cleaner : public action&lt; typename character_type, typename documents_scores_pointer, typename string_type &gt; {
             public:
-                typedef boost::shared_ptr&lt; std::vector&lt; std::basic_string&lt; typename character_type &gt; &gt; &gt; result_type;
+                typedef boost::shared_ptr&lt; std::vector&lt; typename string_type &gt; &gt; result_type;
 
-                cleaner(typename tree_type* _tree) : tree(_tree), empty_words(new std::vector&lt; std::basic_string&lt; character_type &gt; &gt;() ) {
+                cleaner(typename tree_type* _tree) : tree(_tree), empty_words(new std::vector&lt; typename string_type &gt;() ) {
                 }
             
-                virtual void perform(const character_type* string, size_t string_length, int remaining_distance, typename documents_scores_pointer data) {
+                virtual void perform(const typename string_type&amp; string, int remaining_distance, typename documents_scores_pointer data) {
                     if(data-&gt;size()==0) {
-                        empty_words-&gt;push_back(std::basic_string&lt; typename character_type &gt;(string,string_length));
+                        empty_words-&gt;push_back(string);
                     }
                 }
                 
@@ -258,9 +265,9 @@ template &lt; typename character_type, typename document_type, typename reader_writ
                 typename result_type empty_words;
         };
 
-        class documents_scores_type_factory : public filter&lt; character_type, documents_scores_pointer &gt; {
+        class documents_scores_type_factory : public filter&lt; character_type, documents_scores_pointer, typename string_type &gt; {
             public:
-                virtual documents_scores_pointer perform(const character_type* string, size_t string_length, int remaining_distance, typename documents_scores_pointer data) {
+                virtual documents_scores_pointer perform(const typename string_type&amp; string, int remaining_distance, typename documents_scores_pointer data) {
                     return typename documents_scores_pointer(new documents_scores_type(0));
                 }
         };
@@ -271,7 +278,7 @@ template &lt; typename character_type, typename document_type, typename reader_writ
             next_document_id(0) {
         }
 
-        int put_word(const std::basic_string&lt; character_type &gt;&amp; word,const document_type&amp; document) {
+        int put_word(const typename string_type&amp; word,const document_type&amp; document) {
             if(word.size()&gt;2) {
                 documents_scores_pointer scores(tree.get_or_build(word,&amp;factory));
                 return scores-&gt;add_document(get_document_id(document),1);
@@ -281,7 +288,7 @@ template &lt; typename character_type, typename document_type, typename reader_writ
             }
         }
 
-        int put_text(const std::basic_string&lt; character_type &gt;&amp; text,const document_type&amp; document) {
+        int put_text(const typename string_type&amp; text,const document_type&amp; document) {
             typename regex_type_iterator token(text.begin(),text.end(),tokenizer);
             typename regex_type_iterator end;
             int count = 0;
@@ -302,17 +309,17 @@ template &lt; typename character_type, typename document_type, typename reader_writ
                 reversed_ids.erase(document_id);
 
                 eraser e(document_id);
-                tree.walk1(0,&amp;e);
+                tree.walk(0,&amp;e);
             }
         }
 
-        result_pointer find_word(const std::basic_string&lt; character_type &gt;&amp; word) {
+        result_pointer find_word(const typename string_type&amp; word) {
             collector c;
             tree.match(word,0,&amp;c);
             return convert_to_result(c);
         }
         
-        result_pointer find_text(const std::basic_string&lt; character_type &gt;&amp; text,bool intersection) {
+        result_pointer find_text(const typename string_type&amp; text,bool intersection) {
             typename regex_type_iterator token(text.begin(),text.end(),tokenizer);
             typename regex_type_iterator end;
             if(token!=end) {
@@ -343,7 +350,7 @@ template &lt; typename character_type, typename document_type, typename reader_writ
                     collector c;
                     while(token != end) {
                         if(token-&gt;begin()-&gt;length()&gt;2) {
-                            std::basic_string&lt;character_type&gt; word = token-&gt;begin()-&gt;str();
+                            typename string_type word = token-&gt;begin()-&gt;str();
                             tree.match(word,0,&amp;c);
                         }
                         ++token;
@@ -358,7 +365,7 @@ template &lt; typename character_type, typename document_type, typename reader_writ
 
         void pack() {
             cleaner c(&amp;tree);
-            tree.walk1(NULL,&amp;c);
+            tree.walk(NULL,&amp;c);
             tree.pack();
         }
 </diff>
      <filename>textindex/textindex.h</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>textindex/textindex.pyd</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6e0528a99f6a946abdbe21e27585933671385a83</id>
    </parent>
  </parents>
  <author>
    <name>Nicolas Lehuen</name>
    <email>nicolas@lehuen.com</email>
  </author>
  <url>http://github.com/nlehuen/pytst/commit/1a1493e1269799076d540d29c78395e84a95d656</url>
  <id>1a1493e1269799076d540d29c78395e84a95d656</id>
  <committed-date>2006-07-17T03:22:31-07:00</committed-date>
  <authored-date>2006-07-17T03:22:31-07:00</authored-date>
  <message>Mise &#224; jour de textindex suite aux changements d'API de TST (passage &#224; string partout).</message>
  <tree>071ca8928e709afeff787fbd55e5ee1955f802c1</tree>
  <committer>
    <name>Nicolas Lehuen</name>
    <email>nicolas@lehuen.com</email>
  </committer>
</commit>
