#ifndef _MODULE_StringSearch_SubstringBF_
#define _MODULE_StringSearch_SubstringBF_

#include <__typemap.h>
#include <RT0.oh>
#include <Object.oh>
#include <StringSearch.oh>
#include <RT0.oh>
#include <Object.oh>
#include <Exception.oh>
#define StringSearch_SubstringBF__ignoreCase 0
#define StringSearch_SubstringBF__copyString 1
typedef struct StringSearch_SubstringBF__FactoryDesc *StringSearch_SubstringBF__Factory;
typedef struct StringSearch_SubstringBF__FactoryDesc {
  char __dummy;
} StringSearch_SubstringBF__FactoryDesc;
typedef struct StringSearch_SubstringBF__MatcherDesc *StringSearch_SubstringBF__Matcher;
typedef struct StringSearch_SubstringBF__MatcherDesc {
  Object__String8 pattern;
  OOC_UINT32 flags;
  OOC_INT32 groups;
} StringSearch_SubstringBF__MatcherDesc;
typedef struct StringSearch_SubstringBF__MatchObjectDesc *StringSearch_SubstringBF__MatchObject;
typedef struct StringSearch_SubstringBF__MatchObjectDesc {
  OOC_INT32 pos;
  OOC_INT32 endpos;
  StringSearch__Matcher matcher;
  Object__String8 string;
  OOC_INT32 start;
  OOC_INT32 end;
} StringSearch_SubstringBF__MatchObjectDesc;
extern StringSearch_SubstringBF__Factory StringSearch_SubstringBF__factory;
extern void StringSearch_SubstringBF__InitMatchObject(StringSearch_SubstringBF__MatchObject m, OOC_INT32 pos, OOC_INT32 endpos, StringSearch_SubstringBF__Matcher matcher, Object__String8 string, OOC_INT32 start, OOC_INT32 end);
extern OOC_INT32 StringSearch_SubstringBF__MatchObjectDesc_Start(StringSearch_SubstringBF__MatchObject m, OOC_INT32 group);
#define _TBN_StringSearch_SubstringBF__MatchObjectDesc_Start 5
typedef OOC_INT32 (*_TBP_StringSearch_SubstringBF__MatchObjectDesc_Start)(StringSearch_SubstringBF__MatchObject m, OOC_INT32 group);
extern OOC_INT32 StringSearch_SubstringBF__MatchObjectDesc_End(StringSearch_SubstringBF__MatchObject m, OOC_INT32 group);
#define _TBN_StringSearch_SubstringBF__MatchObjectDesc_End 4
typedef OOC_INT32 (*_TBP_StringSearch_SubstringBF__MatchObjectDesc_End)(StringSearch_SubstringBF__MatchObject m, OOC_INT32 group);
extern void StringSearch_SubstringBF__InitMatcher(StringSearch_SubstringBF__Matcher matcher, Object__String8 pattern, OOC_UINT32 flags, OOC_INT32 groups);
extern StringSearch_SubstringBF__MatchObject StringSearch_SubstringBF__MatcherDesc_MatchChars(StringSearch_SubstringBF__Matcher matcher, const OOC_CHAR8 string[], OOC_LEN string_0d, OOC_INT32 pos, OOC_INT32 endpos);
#define _TBN_StringSearch_SubstringBF__MatcherDesc_MatchChars 5
typedef StringSearch_SubstringBF__MatchObject (*_TBP_StringSearch_SubstringBF__MatcherDesc_MatchChars)(StringSearch_SubstringBF__Matcher matcher, const OOC_CHAR8 string[], OOC_LEN string_0d, OOC_INT32 pos, OOC_INT32 endpos);
extern StringSearch_SubstringBF__MatchObject StringSearch_SubstringBF__MatcherDesc_Match(StringSearch_SubstringBF__Matcher matcher, Object__String8 string, OOC_INT32 pos, OOC_INT32 endpos);
#define _TBN_StringSearch_SubstringBF__MatcherDesc_Match 4
typedef StringSearch_SubstringBF__MatchObject (*_TBP_StringSearch_SubstringBF__MatcherDesc_Match)(StringSearch_SubstringBF__Matcher matcher, Object__String8 string, OOC_INT32 pos, OOC_INT32 endpos);
extern StringSearch_SubstringBF__MatchObject StringSearch_SubstringBF__MatcherDesc_SearchChars(StringSearch_SubstringBF__Matcher matcher, const OOC_CHAR8 string[], OOC_LEN string_0d, OOC_INT32 pos, OOC_INT32 endpos);
#define _TBN_StringSearch_SubstringBF__MatcherDesc_SearchChars 7
typedef StringSearch_SubstringBF__MatchObject (*_TBP_StringSearch_SubstringBF__MatcherDesc_SearchChars)(StringSearch_SubstringBF__Matcher matcher, const OOC_CHAR8 string[], OOC_LEN string_0d, OOC_INT32 pos, OOC_INT32 endpos);
extern StringSearch_SubstringBF__MatchObject StringSearch_SubstringBF__MatcherDesc_Search(StringSearch_SubstringBF__Matcher matcher, Object__String8 string, OOC_INT32 pos, OOC_INT32 endpos);
#define _TBN_StringSearch_SubstringBF__MatcherDesc_Search 6
typedef StringSearch_SubstringBF__MatchObject (*_TBP_StringSearch_SubstringBF__MatcherDesc_Search)(StringSearch_SubstringBF__Matcher matcher, Object__String8 string, OOC_INT32 pos, OOC_INT32 endpos);
extern void StringSearch_SubstringBF__InitFactory(StringSearch_SubstringBF__Factory f);
extern StringSearch_SubstringBF__Matcher StringSearch_SubstringBF__FactoryDesc_Compile(StringSearch_SubstringBF__Factory f, Object__String8 pattern, OOC_UINT32 flags);
#define _TBN_StringSearch_SubstringBF__FactoryDesc_Compile 3
typedef StringSearch_SubstringBF__Matcher (*_TBP_StringSearch_SubstringBF__FactoryDesc_Compile)(StringSearch_SubstringBF__Factory f, Object__String8 pattern, OOC_UINT32 flags);
extern void OOC_StringSearch_SubstringBF_init(void);
extern void OOC_StringSearch_SubstringBF_init0(void);

/* run-time meta data */
extern RT0__StructDesc _td_StringSearch_SubstringBF__Factory;
extern RT0__StructDesc _td_StringSearch_SubstringBF__FactoryDesc;
extern RT0__StructDesc _td_StringSearch_SubstringBF__Matcher;
extern RT0__StructDesc _td_StringSearch_SubstringBF__MatcherDesc;
extern RT0__StructDesc _td_StringSearch_SubstringBF__MatchObject;
extern RT0__StructDesc _td_StringSearch_SubstringBF__MatchObjectDesc;
extern RT0__StructDesc _td_StringSearch_SubstringBF__3137;
extern RT0__StructDesc _td_StringSearch_SubstringBF__4295;
extern RT0__StructDesc _td_StringSearch_SubstringBF__4934;
extern RT0__StructDesc _td_StringSearch_SubstringBF__6392;
#endif /* _MODULE_StringSearch_SubstringBF_ */

/* --- */
