/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.25
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace clucene.net {

using System;
using System.Runtime.InteropServices;

class libCLcsharpPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [DllImport("libCLcsharp", EntryPoint="SWIGRegisterExceptionCallbacks_libCLcsharp")]
    public static extern void SWIGRegisterExceptionCallbacks_libCLcsharp(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [DllImport("libCLcsharp", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_libCLcsharp")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_libCLcsharp(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new System.ApplicationException(message));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new System.ArithmeticException(message));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new System.DivideByZeroException(message));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new System.IndexOutOfRangeException(message));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new System.InvalidOperationException(message));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new System.IO.IOException(message));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new System.NullReferenceException(message));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new System.OutOfMemoryException(message));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new System.OverflowException(message));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new System.SystemException(message));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentException(message, paramName));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_libCLcsharp(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_libCLcsharp(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [ThreadStatic]
    private static Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(Exception e) {
      if (pendingException != null)
        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(libCLcsharpPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static Exception Retrieve() {
      Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(libCLcsharpPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [DllImport("libCLcsharp", EntryPoint="SWIGRegisterStringCallback_libCLcsharp")]
    public static extern void SWIGRegisterStringCallback_libCLcsharp(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_libCLcsharp(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_p_charArray")]
  public static extern IntPtr new__CL_p_p_charArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_p_charArray")]
  public static extern void delete__CL_p_p_charArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_charArray_length")]
  public static extern int _CL_p_p_charArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_charArray_init")]
  public static extern void _CL_p_p_charArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_charArray_get")]
  public static extern string _CL_p_p_charArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_charArray_set")]
  public static extern void _CL_p_p_charArray_set(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_uint8_tArray")]
  public static extern IntPtr new__CL_p_uint8_tArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_uint8_tArray")]
  public static extern void delete__CL_p_uint8_tArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_uint8_tArray_length")]
  public static extern int _CL_p_uint8_tArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_uint8_tArray_init")]
  public static extern void _CL_p_uint8_tArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_uint8_tArray_get")]
  public static extern byte _CL_p_uint8_tArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_uint8_tArray_set")]
  public static extern void _CL_p_uint8_tArray_set(HandleRef jarg1, byte jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_int32_tArray")]
  public static extern IntPtr new__CL_p_int32_tArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_int32_tArray")]
  public static extern void delete__CL_p_int32_tArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_int32_tArray_length")]
  public static extern int _CL_p_int32_tArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_int32_tArray_init")]
  public static extern void _CL_p_int32_tArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_int32_tArray_get")]
  public static extern int _CL_p_int32_tArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_int32_tArray_set")]
  public static extern void _CL_p_int32_tArray_set(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_p_lucene__index__IndexReaderArray")]
  public static extern IntPtr new__CL_p_p_lucene__index__IndexReaderArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_p_lucene__index__IndexReaderArray")]
  public static extern void delete__CL_p_p_lucene__index__IndexReaderArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__IndexReaderArray_length")]
  public static extern int _CL_p_p_lucene__index__IndexReaderArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__IndexReaderArray_init")]
  public static extern void _CL_p_p_lucene__index__IndexReaderArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__IndexReaderArray_get")]
  public static extern IntPtr _CL_p_p_lucene__index__IndexReaderArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__IndexReaderArray_set")]
  public static extern void _CL_p_p_lucene__index__IndexReaderArray_set(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_p_lucene__index__TermFreqVectorArray")]
  public static extern IntPtr new__CL_p_p_lucene__index__TermFreqVectorArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_p_lucene__index__TermFreqVectorArray")]
  public static extern void delete__CL_p_p_lucene__index__TermFreqVectorArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__TermFreqVectorArray_length")]
  public static extern int _CL_p_p_lucene__index__TermFreqVectorArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__TermFreqVectorArray_init")]
  public static extern void _CL_p_p_lucene__index__TermFreqVectorArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__TermFreqVectorArray_get")]
  public static extern IntPtr _CL_p_p_lucene__index__TermFreqVectorArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__index__TermFreqVectorArray_set")]
  public static extern void _CL_p_p_lucene__index__TermFreqVectorArray_set(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_p_lucene__search__SortFieldArray")]
  public static extern IntPtr new__CL_p_p_lucene__search__SortFieldArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_p_lucene__search__SortFieldArray")]
  public static extern void delete__CL_p_p_lucene__search__SortFieldArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SortFieldArray_length")]
  public static extern int _CL_p_p_lucene__search__SortFieldArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SortFieldArray_init")]
  public static extern void _CL_p_p_lucene__search__SortFieldArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SortFieldArray_get")]
  public static extern IntPtr _CL_p_p_lucene__search__SortFieldArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SortFieldArray_set")]
  public static extern void _CL_p_p_lucene__search__SortFieldArray_set(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new__CL_p_p_lucene__search__SearchableArray")]
  public static extern IntPtr new__CL_p_p_lucene__search__SearchableArray();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete__CL_p_p_lucene__search__SearchableArray")]
  public static extern void delete__CL_p_p_lucene__search__SearchableArray(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SearchableArray_length")]
  public static extern int _CL_p_p_lucene__search__SearchableArray_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SearchableArray_init")]
  public static extern void _CL_p_p_lucene__search__SearchableArray_init(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SearchableArray_get")]
  public static extern IntPtr _CL_p_p_lucene__search__SearchableArray_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp__CL_p_p_lucene__search__SearchableArray_set")]
  public static extern void _CL_p_p_lucene__search__SearchableArray_set(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_lucene_utf8towc")]
  public static extern uint lucene_utf8towc(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_lucene_utf8towcs")]
  public static extern uint lucene_utf8towcs(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_lucene_wctoutf8")]
  public static extern uint lucene_wctoutf8(string jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_lucene_wcstoutf8")]
  public static extern uint lucene_wcstoutf8(string jarg1, HandleRef jarg2, uint jarg3);

  public class ParserException : Exception{
  	public ParserException(string msg):base(msg){
  	}
  }
  public class TokenManagerException : Exception{
  	public TokenManagerException(string msg):base(msg){
  	}
  }
  public class RAMTransactionException : Exception{
  	public RAMTransactionException(string msg):base(msg){
  	}
  }
  public class TooManyClausesException : Exception{
  	public TooManyClausesException(string msg):base(msg){
  	}
  }
  
  
  class CLuceneExceptionHelper {
    public delegate void CLuceneExceptionDelegate(string message,int code);
    static CLuceneExceptionDelegate exceptDelegate = new CLuceneExceptionDelegate(ThrowError);

    [DllImport("libCLcsharp", EntryPoint="CLuceneRegisterExceptCallback_libCLcsharp")]
    public static extern void CLuceneRegisterExceptCallback_libCLcsharp(CLuceneExceptionDelegate exceptDelegate);

    static void ThrowError(string cString, int cl_code) {
    	if ( cl_code == 1)
    		throw new System.IO.IOException(cString);
			else if ( cl_code == 2 )
				throw new NullReferenceException(cString);
			else if ( cl_code == 4 )
				throw new ArgumentException(cString);
			else if ( cl_code == 5)
				throw new ParserException(cString);
			else if ( cl_code == 6)
				throw new TokenManagerException(cString);
			else if ( cl_code ==  7)
				throw new NotSupportedException(cString);
			else if ( cl_code ==  8)
				throw new InvalidOperationException(cString);
			else if ( cl_code ==  9)
				throw new IndexOutOfRangeException(cString);
			else if ( cl_code ==  10)
				throw new TooManyClausesException(cString);
			else if ( cl_code ==  11)
				throw new RAMTransactionException(cString);
			else if ( cl_code ==  12 )
				throw new InvalidCastException(cString);
			else
			  throw new Exception(cString);
    }

    static CLuceneExceptionHelper() {
      CLuceneRegisterExceptCallback_libCLcsharp(exceptDelegate);
    }
  }
  static CLuceneExceptionHelper clexceptHelper = new CLuceneExceptionHelper();



  [DllImport("libCLcsharp", EntryPoint="CSharp_get_READER_ENCODING_UCS2")]
  public static extern string get_READER_ENCODING_UCS2();

  [DllImport("libCLcsharp", EntryPoint="CSharp_Reader_close")]
  public static extern void Reader_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Reader")]
  public static extern void delete_Reader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_StringReader")]
  public static extern IntPtr new_StringReader(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_StringReader")]
  public static extern void delete_StringReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_FileReader__SWIG_0")]
  public static extern IntPtr new_FileReader__SWIG_0(string jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_FileReader__SWIG_1")]
  public static extern IntPtr new_FileReader__SWIG_1(string jarg1, string jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_FileReader__SWIG_2")]
  public static extern IntPtr new_FileReader__SWIG_2(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_FileReader__SWIG_3")]
  public static extern IntPtr new_FileReader__SWIG_3(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_FileReader")]
  public static extern void delete_FileReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_BitSet")]
  public static extern IntPtr new_BitSet(int jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_BitSet")]
  public static extern void delete_BitSet(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitSet_get")]
  public static extern bool BitSet_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitSet_set")]
  public static extern void BitSet_set(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitSet_size")]
  public static extern int BitSet_size(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_BitVector__SWIG_0")]
  public static extern IntPtr new_BitVector__SWIG_0(int jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_BitVector")]
  public static extern void delete_BitVector(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_BitVector__SWIG_1")]
  public static extern IntPtr new_BitVector__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_set")]
  public static extern void BitVector_set(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_clear")]
  public static extern void BitVector_clear(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_get")]
  public static extern bool BitVector_get(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_size")]
  public static extern int BitVector_size(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_count")]
  public static extern int BitVector_count(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BitVector_write")]
  public static extern void BitVector_write(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_0")]
  public static extern IntPtr new_Field__SWIG_0(string jarg1, string jarg2, bool jarg3, bool jarg4, bool jarg5, bool jarg6);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_1")]
  public static extern IntPtr new_Field__SWIG_1(string jarg1, string jarg2, bool jarg3, bool jarg4, bool jarg5);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_2")]
  public static extern IntPtr new_Field__SWIG_2(string jarg1, HandleRef jarg2, bool jarg3, bool jarg4, bool jarg5, bool jarg6);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_3")]
  public static extern IntPtr new_Field__SWIG_3(string jarg1, HandleRef jarg2, bool jarg3, bool jarg4, bool jarg5);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_4")]
  public static extern IntPtr new_Field__SWIG_4(string jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Field__SWIG_5")]
  public static extern IntPtr new_Field__SWIG_5(string jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Field")]
  public static extern void delete_Field(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_Keyword")]
  public static extern IntPtr Field_Keyword(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_UnIndexed")]
  public static extern IntPtr Field_UnIndexed(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_Text__SWIG_0")]
  public static extern IntPtr Field_Text__SWIG_0(string jarg1, string jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_Text__SWIG_1")]
  public static extern IntPtr Field_Text__SWIG_1(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_UnStored__SWIG_0")]
  public static extern IntPtr Field_UnStored__SWIG_0(string jarg1, string jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_UnStored__SWIG_1")]
  public static extern IntPtr Field_UnStored__SWIG_1(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_Text__SWIG_2")]
  public static extern IntPtr Field_Text__SWIG_2(string jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_Text__SWIG_3")]
  public static extern IntPtr Field_Text__SWIG_3(string jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_name")]
  public static extern string Field_name(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_stringValue")]
  public static extern string Field_stringValue(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_readerValue")]
  public static extern IntPtr Field_readerValue(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_isStored")]
  public static extern bool Field_isStored(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_isIndexed")]
  public static extern bool Field_isIndexed(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_isTokenized")]
  public static extern bool Field_isTokenized(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_isTermVectorStored")]
  public static extern bool Field_isTermVectorStored(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_getBoost")]
  public static extern float Field_getBoost(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_setBoost")]
  public static extern void Field_setBoost(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Field_ToString")]
  public static extern string Field_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_DateField")]
  public static extern void delete_DateField(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DateField_timeToString")]
  public static extern string DateField_timeToString(long jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DateField_stringToTime")]
  public static extern long DateField_stringToTime(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_DateField")]
  public static extern IntPtr new_DateField();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_DocumentFieldEnumeration")]
  public static extern void delete_DocumentFieldEnumeration(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DocumentFieldEnumeration_hasMoreElements")]
  public static extern bool DocumentFieldEnumeration_hasMoreElements(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DocumentFieldEnumeration_nextElement")]
  public static extern IntPtr DocumentFieldEnumeration_nextElement(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Document")]
  public static extern IntPtr new_Document();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Document")]
  public static extern void delete_Document(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_add")]
  public static extern void Document_add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_getField")]
  public static extern IntPtr Document_getField(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_get")]
  public static extern string Document_get(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_fields")]
  public static extern IntPtr Document_fields(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_ToString")]
  public static extern string Document_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_setBoost")]
  public static extern void Document_setBoost(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_getBoost")]
  public static extern float Document_getBoost(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_removeField")]
  public static extern void Document_removeField(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_removeFields")]
  public static extern void Document_removeFields(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Document_getValues")]
  public static extern IntPtr Document_getValues(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_InputStream")]
  public static extern void delete_InputStream(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_readByte")]
  public static extern byte InputStream_readByte(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_readInt")]
  public static extern int InputStream_readInt(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_readVInt")]
  public static extern int InputStream_readVInt(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_readLong")]
  public static extern long InputStream_readLong(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_readVLong")]
  public static extern long InputStream_readVLong(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_close")]
  public static extern void InputStream_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_getFilePointer")]
  public static extern long InputStream_getFilePointer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_seek")]
  public static extern void InputStream_seek(HandleRef jarg1, long jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_InputStream_length")]
  public static extern long InputStream_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_OutputStream")]
  public static extern void delete_OutputStream(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeByte")]
  public static extern void OutputStream_writeByte(HandleRef jarg1, byte jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeBytes")]
  public static extern void OutputStream_writeBytes(HandleRef jarg1, IntPtr jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeInt")]
  public static extern void OutputStream_writeInt(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeVInt")]
  public static extern void OutputStream_writeVInt(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeLong")]
  public static extern void OutputStream_writeLong(HandleRef jarg1, long jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeVLong")]
  public static extern void OutputStream_writeVLong(HandleRef jarg1, long jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeString")]
  public static extern void OutputStream_writeString(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_writeChars")]
  public static extern void OutputStream_writeChars(HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_close")]
  public static extern void OutputStream_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_OutputStream_getFilePointer")]
  public static extern long OutputStream_getFilePointer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Directory")]
  public static extern void delete_Directory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_list")]
  public static extern IntPtr Directory_list(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_fileExists")]
  public static extern bool Directory_fileExists(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_fileModified")]
  public static extern long Directory_fileModified(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_fileLength")]
  public static extern long Directory_fileLength(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_openFile")]
  public static extern IntPtr Directory_openFile(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_touchFile")]
  public static extern void Directory_touchFile(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_deleteFile__SWIG_0")]
  public static extern void Directory_deleteFile__SWIG_0(HandleRef jarg1, string jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_deleteFile__SWIG_1")]
  public static extern void Directory_deleteFile__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_renameFile")]
  public static extern void Directory_renameFile(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_createFile")]
  public static extern IntPtr Directory_createFile(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Directory_close")]
  public static extern void Directory_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_FSDirectory")]
  public static extern void delete_FSDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_FSDirectory_getDirName")]
  public static extern string FSDirectory_getDirName(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_FSDirectory_getDirectory")]
  public static extern IntPtr FSDirectory_getDirectory(string jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_FSDirectory_fileModified__SWIG_1")]
  public static extern long FSDirectory_fileModified__SWIG_1(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_RAMOutputStream")]
  public static extern void delete_RAMOutputStream(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RAMOutputStream_reset")]
  public static extern void RAMOutputStream_reset(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RAMOutputStream_writeTo")]
  public static extern void RAMOutputStream_writeTo(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_RAMInputStream")]
  public static extern void delete_RAMInputStream(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_RAMDirectory__SWIG_0")]
  public static extern IntPtr new_RAMDirectory__SWIG_0();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_RAMDirectory")]
  public static extern void delete_RAMDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_RAMDirectory__SWIG_1")]
  public static extern IntPtr new_RAMDirectory__SWIG_1(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_RAMDirectory__SWIG_2")]
  public static extern IntPtr new_RAMDirectory__SWIG_2(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Token")]
  public static extern void delete_Token(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Token__SWIG_0")]
  public static extern IntPtr new_Token__SWIG_0(string jarg1, int jarg2, int jarg3, string jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Token__SWIG_1")]
  public static extern IntPtr new_Token__SWIG_1(string jarg1, int jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_setPositionIncrement")]
  public static extern void Token_setPositionIncrement(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_getPositionIncrement")]
  public static extern int Token_getPositionIncrement(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_termText")]
  public static extern string Token_termText(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_startOffset")]
  public static extern int Token_startOffset(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_endOffset")]
  public static extern int Token_endOffset(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Token_type")]
  public static extern string Token_type(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TokenStream_close")]
  public static extern void TokenStream_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TokenStream")]
  public static extern void delete_TokenStream(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TokenStream_next")]
  public static extern IntPtr TokenStream_next(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Analyzer_tokenStream")]
  public static extern IntPtr Analyzer_tokenStream(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Analyzer")]
  public static extern void delete_Analyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_WhitespaceAnalyzer")]
  public static extern void delete_WhitespaceAnalyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_WhitespaceAnalyzer")]
  public static extern IntPtr new_WhitespaceAnalyzer();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SimpleAnalyzer")]
  public static extern void delete_SimpleAnalyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SimpleAnalyzer")]
  public static extern IntPtr new_SimpleAnalyzer();

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_StopAnalyzer__SWIG_0")]
  public static extern IntPtr new_StopAnalyzer__SWIG_0();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_StopAnalyzer")]
  public static extern void delete_StopAnalyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_StopAnalyzer__SWIG_1")]
  public static extern IntPtr new_StopAnalyzer__SWIG_1(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_PerFieldAnalyzerWrapper")]
  public static extern IntPtr new_PerFieldAnalyzerWrapper(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_PerFieldAnalyzerWrapper")]
  public static extern void delete_PerFieldAnalyzerWrapper(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PerFieldAnalyzerWrapper_addAnalyzer")]
  public static extern void PerFieldAnalyzerWrapper_addAnalyzer(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_StandardAnalyzer__SWIG_0")]
  public static extern IntPtr new_StandardAnalyzer__SWIG_0();

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_StandardAnalyzer__SWIG_1")]
  public static extern IntPtr new_StandardAnalyzer__SWIG_1(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_StandardAnalyzer")]
  public static extern void delete_StandardAnalyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfo_getDir")]
  public static extern IntPtr SegmentInfo_getDir(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_SegmentInfo_name")]
  public static extern void set_SegmentInfo_name(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SegmentInfo_name")]
  public static extern string get_SegmentInfo_name(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SegmentInfo_docCount")]
  public static extern int get_SegmentInfo_docCount(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentInfo")]
  public static extern IntPtr new_SegmentInfo(string jarg1, int jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SegmentInfo")]
  public static extern void delete_SegmentInfo(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentInfos__SWIG_0")]
  public static extern IntPtr new_SegmentInfos__SWIG_0(bool jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentInfos__SWIG_1")]
  public static extern IntPtr new_SegmentInfos__SWIG_1();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SegmentInfos")]
  public static extern void delete_SegmentInfos(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_clearto")]
  public static extern void SegmentInfos_clearto(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_size")]
  public static extern int SegmentInfos_size(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_add")]
  public static extern void SegmentInfos_add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_info")]
  public static extern IntPtr SegmentInfos_info(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_getVersion")]
  public static extern long SegmentInfos_getVersion(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_readCurrentVersion")]
  public static extern long SegmentInfos_readCurrentVersion(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_read")]
  public static extern void SegmentInfos_read(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentInfos_write")]
  public static extern void SegmentInfos_write(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Term")]
  public static extern IntPtr new_Term(string jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Term")]
  public static extern void delete_Term(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Term_field")]
  public static extern string Term_field(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Term_text")]
  public static extern string Term_text(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Term_compareTo")]
  public static extern int Term_compareTo(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Term_equals")]
  public static extern bool Term_equals(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Term_ToString")]
  public static extern string Term_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TermDocs")]
  public static extern void delete_TermDocs(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_seek__SWIG_0")]
  public static extern void TermDocs_seek__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_seek__SWIG_1")]
  public static extern void TermDocs_seek__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_doc")]
  public static extern int TermDocs_doc(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_freq")]
  public static extern int TermDocs_freq(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_next")]
  public static extern bool TermDocs_next(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_skipTo")]
  public static extern bool TermDocs_skipTo(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermDocs_close")]
  public static extern void TermDocs_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermEnum_next")]
  public static extern bool TermEnum_next(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermEnum_term")]
  public static extern IntPtr TermEnum_term(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermEnum_docFreq")]
  public static extern int TermEnum_docFreq(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermEnum_close")]
  public static extern void TermEnum_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TermEnum")]
  public static extern void delete_TermEnum(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermEnum_skipTo")]
  public static extern bool TermEnum_skipTo(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermPositions_nextPosition")]
  public static extern int TermPositions_nextPosition(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TermPositions")]
  public static extern void delete_TermPositions(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TermFreqVector")]
  public static extern void delete_TermFreqVector(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermFreqVector_getField")]
  public static extern string TermFreqVector_getField(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermFreqVector_size")]
  public static extern int TermFreqVector_size(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermFreqVector_getTerms")]
  public static extern IntPtr TermFreqVector_getTerms(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermFreqVector_getTermFrequencies")]
  public static extern IntPtr TermFreqVector_getTermFrequencies(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermFreqVector_indexOf")]
  public static extern int TermFreqVector_indexOf(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_commit")]
  public static extern void IndexReader_commit(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_undeleteAll")]
  public static extern void IndexReader_undeleteAll(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getFieldNames__SWIG_0")]
  public static extern IntPtr IndexReader_getFieldNames__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getFieldNames__SWIG_1")]
  public static extern IntPtr IndexReader_getFieldNames__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getIndexedFieldNames")]
  public static extern IntPtr IndexReader_getIndexedFieldNames(HandleRef jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_norms")]
  public static extern IntPtr IndexReader_norms(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_setNorm__SWIG_0")]
  public static extern void IndexReader_setNorm__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, float jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_setNorm__SWIG_1")]
  public static extern void IndexReader_setNorm__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, byte jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_IndexReader")]
  public static extern void delete_IndexReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_open__SWIG_0")]
  public static extern IntPtr IndexReader_open__SWIG_0(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_open__SWIG_1")]
  public static extern IntPtr IndexReader_open__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_open__SWIG_2")]
  public static extern IntPtr IndexReader_open__SWIG_2(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_lastModified__SWIG_0")]
  public static extern long IndexReader_lastModified__SWIG_0(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_lastModified__SWIG_1")]
  public static extern long IndexReader_lastModified__SWIG_1(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getCurrentVersion__SWIG_0")]
  public static extern long IndexReader_getCurrentVersion__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getCurrentVersion__SWIG_1")]
  public static extern long IndexReader_getCurrentVersion__SWIG_1(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getTermFreqVectors")]
  public static extern IntPtr IndexReader_getTermFreqVectors(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getTermFreqVector")]
  public static extern IntPtr IndexReader_getTermFreqVector(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_indexExists__SWIG_0")]
  public static extern bool IndexReader_indexExists__SWIG_0(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_indexExists__SWIG_1")]
  public static extern bool IndexReader_indexExists__SWIG_1(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_numDocs")]
  public static extern int IndexReader_numDocs(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_maxDoc")]
  public static extern int IndexReader_maxDoc(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_document")]
  public static extern IntPtr IndexReader_document(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_isDeleted")]
  public static extern bool IndexReader_isDeleted(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_hasDeletions")]
  public static extern bool IndexReader_hasDeletions(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_terms__SWIG_0")]
  public static extern IntPtr IndexReader_terms__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_terms__SWIG_1")]
  public static extern IntPtr IndexReader_terms__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_docFreq")]
  public static extern int IndexReader_docFreq(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_termPositions__SWIG_0")]
  public static extern IntPtr IndexReader_termPositions__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_termPositions__SWIG_1")]
  public static extern IntPtr IndexReader_termPositions__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_termDocs__SWIG_0")]
  public static extern IntPtr IndexReader_termDocs__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_termDocs__SWIG_1")]
  public static extern IntPtr IndexReader_termDocs__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_Delete__SWIG_0")]
  public static extern void IndexReader_Delete__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_Delete__SWIG_1")]
  public static extern int IndexReader_Delete__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_close")]
  public static extern void IndexReader_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_isLocked__SWIG_0")]
  public static extern bool IndexReader_isLocked__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_isLocked__SWIG_1")]
  public static extern bool IndexReader_isLocked__SWIG_1(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_unlock__SWIG_0")]
  public static extern void IndexReader_unlock__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_unlock__SWIG_1")]
  public static extern void IndexReader_unlock__SWIG_1(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexReader_getDirectory")]
  public static extern IntPtr IndexReader_getDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_MultiReader__SWIG_0")]
  public static extern IntPtr new_MultiReader__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3, IntPtr jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_MultiReader__SWIG_1")]
  public static extern IntPtr new_MultiReader__SWIG_1(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_MultiReader")]
  public static extern void delete_MultiReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_IndexWriter")]
  public static extern void delete_IndexWriter(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getMaxFieldLength")]
  public static extern int IndexWriter_getMaxFieldLength(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setMaxFieldLength")]
  public static extern void IndexWriter_setMaxFieldLength(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getMergeFactor")]
  public static extern int IndexWriter_getMergeFactor(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setMergeFactor")]
  public static extern void IndexWriter_setMergeFactor(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getMinMergeDocs")]
  public static extern int IndexWriter_getMinMergeDocs(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setMinMergeDocs")]
  public static extern void IndexWriter_setMinMergeDocs(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getMaxMergeDocs")]
  public static extern int IndexWriter_getMaxMergeDocs(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setMaxMergeDocs")]
  public static extern void IndexWriter_setMaxMergeDocs(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexWriter__SWIG_0")]
  public static extern IntPtr new_IndexWriter__SWIG_0(string jarg1, HandleRef jarg2, bool jarg3, bool jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexWriter__SWIG_1")]
  public static extern IntPtr new_IndexWriter__SWIG_1(string jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexWriter__SWIG_2")]
  public static extern IntPtr new_IndexWriter__SWIG_2(HandleRef jarg1, HandleRef jarg2, bool jarg3, bool jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexWriter__SWIG_3")]
  public static extern IntPtr new_IndexWriter__SWIG_3(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_close")]
  public static extern void IndexWriter_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_docCount")]
  public static extern int IndexWriter_docCount(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_addDocument")]
  public static extern void IndexWriter_addDocument(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_optimize")]
  public static extern void IndexWriter_optimize(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getDirectory")]
  public static extern IntPtr IndexWriter_getDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getUseCompoundFile")]
  public static extern bool IndexWriter_getUseCompoundFile(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setUseCompoundFile")]
  public static extern void IndexWriter_setUseCompoundFile(HandleRef jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_setSimilarity")]
  public static extern void IndexWriter_setSimilarity(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getSimilarity")]
  public static extern IntPtr IndexWriter_getSimilarity(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexWriter_getAnalyzer")]
  public static extern IntPtr IndexWriter_getAnalyzer(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_DocumentWriter")]
  public static extern IntPtr new_DocumentWriter(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_DocumentWriter")]
  public static extern void delete_DocumentWriter(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DocumentWriter_addDocument")]
  public static extern void DocumentWriter_addDocument(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_CompoundFileReader")]
  public static extern IntPtr new_CompoundFileReader(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_CompoundFileReader")]
  public static extern void delete_CompoundFileReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileReader_getDirectory")]
  public static extern IntPtr CompoundFileReader_getDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileReader_getName")]
  public static extern string CompoundFileReader_getName(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_CompoundFileWriter")]
  public static extern IntPtr new_CompoundFileWriter(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_CompoundFileWriter")]
  public static extern void delete_CompoundFileWriter(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileWriter_getDirectory")]
  public static extern IntPtr CompoundFileWriter_getDirectory(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileWriter_getName")]
  public static extern string CompoundFileWriter_getName(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileWriter_addFile")]
  public static extern void CompoundFileWriter_addFile(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileWriter_close")]
  public static extern void CompoundFileWriter_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentReader__SWIG_0")]
  public static extern IntPtr new_SegmentReader__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentReader__SWIG_1")]
  public static extern IntPtr new_SegmentReader__SWIG_1(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SegmentReader")]
  public static extern void delete_SegmentReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentReader_hasDeletions__SWIG_0")]
  public static extern bool SegmentReader_hasDeletions__SWIG_0(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentReader_usesCompoundFile")]
  public static extern bool SegmentReader_usesCompoundFile(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentReader_hasSeparateNorms")]
  public static extern bool SegmentReader_hasSeparateNorms(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SegmentMerger")]
  public static extern IntPtr new_SegmentMerger(HandleRef jarg1, string jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SegmentMerger")]
  public static extern void delete_SegmentMerger(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentMerger_add")]
  public static extern void SegmentMerger_add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentMerger_segmentReader")]
  public static extern IntPtr SegmentMerger_segmentReader(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentMerger_merge")]
  public static extern int SegmentMerger_merge(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentMerger_closeReaders")]
  public static extern void SegmentMerger_closeReaders(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Filter")]
  public static extern void delete_Filter(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Filter_bits")]
  public static extern IntPtr Filter_bits(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Filter_ToString")]
  public static extern string Filter_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_DateFilter")]
  public static extern void delete_DateFilter(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_DateFilter")]
  public static extern IntPtr new_DateFilter(string jarg1, long jarg2, long jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DateFilter_Before")]
  public static extern IntPtr DateFilter_Before(string jarg1, long jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DateFilter_After")]
  public static extern IntPtr DateFilter_After(string jarg1, long jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Similarity")]
  public static extern void delete_Similarity(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_setDefault")]
  public static extern void Similarity_setDefault(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_getDefault")]
  public static extern IntPtr Similarity_getDefault();

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_encodeNorm")]
  public static extern byte Similarity_encodeNorm(float jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_decodeNorm")]
  public static extern float Similarity_decodeNorm(byte jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_floatToByte")]
  public static extern byte Similarity_floatToByte(float jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_byteToFloat")]
  public static extern float Similarity_byteToFloat(byte jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_lengthNorm")]
  public static extern float Similarity_lengthNorm(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_queryNorm")]
  public static extern float Similarity_queryNorm(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_sloppyFreq")]
  public static extern float Similarity_sloppyFreq(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Similarity_coord")]
  public static extern float Similarity_coord(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_SortField")]
  public static extern void delete_SortField(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_SCORE")]
  public static extern int get_SortField_SCORE();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_DOC")]
  public static extern int get_SortField_DOC();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_AUTO")]
  public static extern int get_SortField_AUTO();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_STRING")]
  public static extern int get_SortField_STRING();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_INT")]
  public static extern int get_SortField_INT();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_FLOAT")]
  public static extern int get_SortField_FLOAT();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_CUSTOM")]
  public static extern int get_SortField_CUSTOM();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_FIELD_SCORE")]
  public static extern IntPtr get_SortField_FIELD_SCORE();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_SortField_FIELD_DOC")]
  public static extern IntPtr get_SortField_FIELD_DOC();

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SortField__SWIG_0")]
  public static extern IntPtr new_SortField__SWIG_0(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SortField__SWIG_1")]
  public static extern IntPtr new_SortField__SWIG_1(string jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_SortField__SWIG_2")]
  public static extern IntPtr new_SortField__SWIG_2(string jarg1, int jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SortField_getField")]
  public static extern string SortField_getField(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SortField_getType")]
  public static extern int SortField_getType(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SortField_getReverse")]
  public static extern bool SortField_getReverse(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SortField_ToString")]
  public static extern string SortField_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Sort")]
  public static extern void delete_Sort(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_Sort_RELEVANCE")]
  public static extern IntPtr get_Sort_RELEVANCE();

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_Sort_INDEXORDER")]
  public static extern IntPtr get_Sort_INDEXORDER();

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_0")]
  public static extern IntPtr new_Sort__SWIG_0();

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_1")]
  public static extern IntPtr new_Sort__SWIG_1(string jarg1, bool jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_2")]
  public static extern IntPtr new_Sort__SWIG_2(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_3")]
  public static extern IntPtr new_Sort__SWIG_3(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_4")]
  public static extern IntPtr new_Sort__SWIG_4(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Sort__SWIG_5")]
  public static extern IntPtr new_Sort__SWIG_5(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_setSort__SWIG_0")]
  public static extern void Sort_setSort__SWIG_0(HandleRef jarg1, string jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_setSort__SWIG_1")]
  public static extern void Sort_setSort__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_setSort__SWIG_2")]
  public static extern void Sort_setSort__SWIG_2(HandleRef jarg1, IntPtr jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_setSort__SWIG_3")]
  public static extern void Sort_setSort__SWIG_3(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_setSort__SWIG_4")]
  public static extern void Sort_setSort__SWIG_4(HandleRef jarg1, IntPtr jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Sort_ToString")]
  public static extern string Sort_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Explanation")]
  public static extern void delete_Explanation(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_getValue")]
  public static extern float Explanation_getValue(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_setValue")]
  public static extern void Explanation_setValue(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_getDescription")]
  public static extern string Explanation_getDescription(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_addDetail")]
  public static extern void Explanation_addDetail(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_ToString")]
  public static extern string Explanation_ToString(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Explanation_toHtml")]
  public static extern string Explanation_toHtml(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_HitDoc_score")]
  public static extern void set_HitDoc_score(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_HitDoc_score")]
  public static extern float get_HitDoc_score(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_HitDoc_id")]
  public static extern void set_HitDoc_id(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_HitDoc_id")]
  public static extern int get_HitDoc_id(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_HitDoc_doc")]
  public static extern void set_HitDoc_doc(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_HitDoc_doc")]
  public static extern IntPtr get_HitDoc_doc(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_HitDoc_next")]
  public static extern void set_HitDoc_next(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_HitDoc_next")]
  public static extern IntPtr get_HitDoc_next(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_set_HitDoc_prev")]
  public static extern void set_HitDoc_prev(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_get_HitDoc_prev")]
  public static extern IntPtr get_HitDoc_prev(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_HitDoc")]
  public static extern IntPtr new_HitDoc(float jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_HitDoc")]
  public static extern void delete_HitDoc(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Hits__SWIG_0")]
  public static extern IntPtr new_Hits__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_Hits__SWIG_1")]
  public static extern IntPtr new_Hits__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Hits")]
  public static extern void delete_Hits(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Hits_length")]
  public static extern int Hits_length(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Hits_doc")]
  public static extern IntPtr Hits_doc(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Hits_id")]
  public static extern int Hits_id(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Hits_score")]
  public static extern float Hits_score(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Searchable")]
  public static extern void delete_Searchable(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searchable_close")]
  public static extern void Searchable_close(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searchable_docFreq")]
  public static extern int Searchable_docFreq(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searchable_maxDoc")]
  public static extern int Searchable_maxDoc(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searchable_doc")]
  public static extern IntPtr Searchable_doc(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searchable_explain")]
  public static extern IntPtr Searchable_explain(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Searcher")]
  public static extern void delete_Searcher(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_search__SWIG_0")]
  public static extern IntPtr Searcher_search__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_search__SWIG_1")]
  public static extern IntPtr Searcher_search__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_search__SWIG_2")]
  public static extern IntPtr Searcher_search__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_search__SWIG_3")]
  public static extern IntPtr Searcher_search__SWIG_3(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_setSimilarity")]
  public static extern void Searcher_setSimilarity(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Searcher_getSimilarity")]
  public static extern IntPtr Searcher_getSimilarity(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_Query")]
  public static extern void delete_Query(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_setBoost")]
  public static extern void Query_setBoost(HandleRef jarg1, float jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_getBoost")]
  public static extern float Query_getBoost(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_rewrite")]
  public static extern IntPtr Query_rewrite(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_getSimilarity")]
  public static extern IntPtr Query_getSimilarity(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_ToString__SWIG_0")]
  public static extern string Query_ToString__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_equals")]
  public static extern bool Query_equals(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_Query_ToString__SWIG_1")]
  public static extern string Query_ToString__SWIG_1(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexSearcher__SWIG_0")]
  public static extern IntPtr new_IndexSearcher__SWIG_0(string jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexSearcher__SWIG_1")]
  public static extern IntPtr new_IndexSearcher__SWIG_1(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_IndexSearcher__SWIG_2")]
  public static extern IntPtr new_IndexSearcher__SWIG_2(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_IndexSearcher")]
  public static extern void delete_IndexSearcher(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexSearcher_getReader")]
  public static extern IntPtr IndexSearcher_getReader(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_MultiSearcher")]
  public static extern IntPtr new_MultiSearcher(IntPtr jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_MultiSearcher")]
  public static extern void delete_MultiSearcher(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiSearcher_searcherIndex")]
  public static extern int MultiSearcher_searcherIndex(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiSearcher_subSearcher")]
  public static extern int MultiSearcher_subSearcher(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiSearcher_subDoc")]
  public static extern int MultiSearcher_subDoc(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_BooleanQuery")]
  public static extern IntPtr new_BooleanQuery();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_BooleanQuery")]
  public static extern void delete_BooleanQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BooleanQuery_getMaxClauseCount")]
  public static extern int BooleanQuery_getMaxClauseCount();

  [DllImport("libCLcsharp", EntryPoint="CSharp_BooleanQuery_setMaxClauseCount")]
  public static extern void BooleanQuery_setMaxClauseCount(int jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BooleanQuery_add")]
  public static extern void BooleanQuery_add(HandleRef jarg1, HandleRef jarg2, bool jarg3, bool jarg4);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BooleanQuery_getClauseCount")]
  public static extern int BooleanQuery_getClauseCount(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_TermQuery")]
  public static extern IntPtr new_TermQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_TermQuery")]
  public static extern void delete_TermQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermQuery_getTerm")]
  public static extern IntPtr TermQuery_getTerm(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_PhraseQuery")]
  public static extern IntPtr new_PhraseQuery();

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_PhraseQuery")]
  public static extern void delete_PhraseQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PhraseQuery_setSlop")]
  public static extern void PhraseQuery_setSlop(HandleRef jarg1, int jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PhraseQuery_getSlop")]
  public static extern int PhraseQuery_getSlop(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PhraseQuery_add__SWIG_0")]
  public static extern void PhraseQuery_add__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PhraseQuery_add__SWIG_1")]
  public static extern void PhraseQuery_add__SWIG_1(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_MultiTermQuery")]
  public static extern void delete_MultiTermQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiTermQuery_getTerm")]
  public static extern IntPtr MultiTermQuery_getTerm(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_WildcardQuery")]
  public static extern IntPtr new_WildcardQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_WildcardQuery")]
  public static extern void delete_WildcardQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_RangeQuery")]
  public static extern IntPtr new_RangeQuery(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_RangeQuery")]
  public static extern void delete_RangeQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RangeQuery_getLowerTerm")]
  public static extern IntPtr RangeQuery_getLowerTerm(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RangeQuery_getUpperTerm")]
  public static extern IntPtr RangeQuery_getUpperTerm(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RangeQuery_isInclusive")]
  public static extern bool RangeQuery_isInclusive(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RangeQuery_getField")]
  public static extern string RangeQuery_getField(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_PrefixQuery")]
  public static extern IntPtr new_PrefixQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_PrefixQuery")]
  public static extern void delete_PrefixQuery(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PrefixQuery_getPrefix")]
  public static extern IntPtr PrefixQuery_getPrefix(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_new_QueryParser")]
  public static extern IntPtr new_QueryParser(string jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_delete_QueryParser")]
  public static extern void delete_QueryParser(HandleRef jarg1);

  [DllImport("libCLcsharp", EntryPoint="CSharp_QueryParser_parse__SWIG_0")]
  public static extern IntPtr QueryParser_parse__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_QueryParser_parse__SWIG_1")]
  public static extern IntPtr QueryParser_parse__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("libCLcsharp", EntryPoint="CSharp_QueryParser_parse__SWIG_2")]
  public static extern IntPtr QueryParser_parse__SWIG_2(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("libCLcsharp", EntryPoint="CSharp_StringReaderUpcast")]
  public static extern IntPtr StringReaderUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_FileReaderUpcast")]
  public static extern IntPtr FileReaderUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_FSDirectoryUpcast")]
  public static extern IntPtr FSDirectoryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RAMOutputStreamUpcast")]
  public static extern IntPtr RAMOutputStreamUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RAMInputStreamUpcast")]
  public static extern IntPtr RAMInputStreamUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RAMDirectoryUpcast")]
  public static extern IntPtr RAMDirectoryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_WhitespaceAnalyzerUpcast")]
  public static extern IntPtr WhitespaceAnalyzerUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SimpleAnalyzerUpcast")]
  public static extern IntPtr SimpleAnalyzerUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_StopAnalyzerUpcast")]
  public static extern IntPtr StopAnalyzerUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PerFieldAnalyzerWrapperUpcast")]
  public static extern IntPtr PerFieldAnalyzerWrapperUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_StandardAnalyzerUpcast")]
  public static extern IntPtr StandardAnalyzerUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermPositionsUpcast")]
  public static extern IntPtr TermPositionsUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiReaderUpcast")]
  public static extern IntPtr MultiReaderUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_CompoundFileReaderUpcast")]
  public static extern IntPtr CompoundFileReaderUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SegmentReaderUpcast")]
  public static extern IntPtr SegmentReaderUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_DateFilterUpcast")]
  public static extern IntPtr DateFilterUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_SearcherUpcast")]
  public static extern IntPtr SearcherUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_IndexSearcherUpcast")]
  public static extern IntPtr IndexSearcherUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiSearcherUpcast")]
  public static extern IntPtr MultiSearcherUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_BooleanQueryUpcast")]
  public static extern IntPtr BooleanQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_TermQueryUpcast")]
  public static extern IntPtr TermQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PhraseQueryUpcast")]
  public static extern IntPtr PhraseQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_MultiTermQueryUpcast")]
  public static extern IntPtr MultiTermQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_WildcardQueryUpcast")]
  public static extern IntPtr WildcardQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_RangeQueryUpcast")]
  public static extern IntPtr RangeQueryUpcast(IntPtr objectRef);

  [DllImport("libCLcsharp", EntryPoint="CSharp_PrefixQueryUpcast")]
  public static extern IntPtr PrefixQueryUpcast(IntPtr objectRef);
}

}
