strusModule  0.17
strus.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_MAIN_INCLUDE_HPP_INCLUDED
11 #define _STRUS_MAIN_INCLUDE_HPP_INCLUDED
12 // Basic storage data types:
13 #include "strus/index.hpp"
14 #include "strus/constants.hpp"
15 #include "strus/numericVariant.hpp"
16 #include "strus/reference.hpp"
17 #include "strus/errorBufferInterface.hpp"
18 
19 // Component versions
20 #include "strus/versionBase.hpp"
21 #include "strus/versionStorage.hpp"
22 #include "strus/versionAnalyzer.hpp"
23 #include "strus/versionModule.hpp"
24 
25 // Key/value store database used by the storage to store its persistent data:
26 #include "strus/lib/database_leveldb.hpp"
27 #include "strus/databaseOptions.hpp"
28 #include "strus/databaseInterface.hpp"
29 #include "strus/databaseClientInterface.hpp"
30 #include "strus/databaseCursorInterface.hpp"
31 #include "strus/databaseBackupCursorInterface.hpp"
32 #include "strus/databaseTransactionInterface.hpp"
33 
34 // Storage (storage structure that defines all data tables needed for query evaluation):
35 #include "strus/storageObjectBuilderInterface.hpp"
36 #include "strus/lib/storage.hpp"
37 #include "strus/storageInterface.hpp"
38 #include "strus/storageClientInterface.hpp"
39 #include "strus/storageTransactionInterface.hpp"
40 #include "strus/storageDocumentInterface.hpp"
41 #include "strus/documentTermIteratorInterface.hpp"
42 #include "strus/valueIteratorInterface.hpp"
43 #include "strus/invAclIteratorInterface.hpp"
44 #include "strus/metaDataReaderInterface.hpp"
45 #include "strus/metaDataRestrictionInstanceInterface.hpp"
46 #include "strus/metaDataRestrictionInterface.hpp"
47 #include "strus/storageAlterMetaDataTableInterface.hpp"
48 #include "strus/attributeReaderInterface.hpp"
49 #include "strus/forwardIteratorInterface.hpp"
50 #include "strus/postingIteratorInterface.hpp"
51 #include "strus/postingJoinOperatorInterface.hpp"
52 #include "strus/lib/statsproc.hpp"
53 #include "strus/statisticsProcessorInterface.hpp"
54 #include "strus/statisticsViewerInterface.hpp"
55 #include "strus/statisticsIteratorInterface.hpp"
56 #include "strus/statisticsBuilderInterface.hpp"
57 #include "strus/storageDocumentUpdateInterface.hpp"
58 #include "strus/storageDumpInterface.hpp"
59 
60 // Query processor (functions for the query evaluation used for ranking and summarization):
61 #include "strus/lib/queryproc.hpp"
62 #include "strus/queryProcessorInterface.hpp"
63 #include "strus/summarizerFunctionContextInterface.hpp"
64 #include "strus/summarizerFunctionInterface.hpp"
65 #include "strus/summarizerFunctionInstanceInterface.hpp"
66 #include "strus/weightingFunctionContextInterface.hpp"
67 #include "strus/weightingFunctionInterface.hpp"
68 #include "strus/weightingFunctionInstanceInterface.hpp"
69 #include "strus/lib/scalarfunc.hpp"
70 #include "strus/scalarFunctionInstanceInterface.hpp"
71 #include "strus/scalarFunctionInterface.hpp"
72 #include "strus/scalarFunctionParserInterface.hpp"
73 
74 // Query evaluation (processing a query to get a ranked list of documents with attributes):
75 #include "strus/lib/queryeval.hpp"
76 #include "strus/queryEvalInterface.hpp"
77 #include "strus/queryInterface.hpp"
78 #include "strus/weightedDocument.hpp"
79 #include "strus/resultDocument.hpp"
80 
81 // Document/query analyzer (create from text a structure suitable to insert into a storage):
82 #include "strus/analyzerObjectBuilderInterface.hpp"
83 #include "strus/lib/analyzer.hpp"
84 #include "strus/queryAnalyzerInstanceInterface.hpp"
85 #include "strus/documentAnalyzerInstanceInterface.hpp"
86 #include "strus/documentAnalyzerContextInterface.hpp"
87 #include "strus/analyzer/documentAttribute.hpp"
88 #include "strus/analyzer/document.hpp"
89 #include "strus/analyzer/documentMetaData.hpp"
90 #include "strus/analyzer/documentTerm.hpp"
91 #include "strus/analyzer/queryTerm.hpp"
92 #include "strus/analyzer/queryTermExpression.hpp"
93 
94 // Text processor (functions for the document analysis to produce index terms, attributes and meta data out of segments of text):
95 #include "strus/lib/textproc.hpp"
96 #include "strus/textProcessorInterface.hpp"
97 
98 // Document detection
99 #include "strus/lib/detector_std.hpp"
100 #include "strus/analyzer/documentClass.hpp"
101 #include "strus/documentClassDetectorInterface.hpp"
102 
103 // Document segmenter (segmenting a document into typed text segments that can be processed by the analyzer):
104 #include "strus/lib/segmenter_textwolf.hpp"
105 #include "strus/segmenterContextInterface.hpp"
106 #include "strus/segmenterInstanceInterface.hpp"
107 #include "strus/segmenterInterface.hpp"
108 
109 // Tokenizer (functions for the text processor to split a text segment into tokens):
110 #include "strus/lib/tokenizer_word.hpp"
111 #include "strus/lib/tokenizer_punctuation.hpp"
112 #include "strus/analyzer/token.hpp"
113 #include "strus/tokenizerFunctionInterface.hpp"
114 #include "strus/tokenizerFunctionInstanceInterface.hpp"
115 
116 // Token normalizer (functions for the text processor to map tokens to normalized terms for the storage):
117 #include "strus/lib/normalizer_charconv.hpp"
118 #include "strus/lib/normalizer_dateconv.hpp"
119 #include "strus/lib/normalizer_dictmap.hpp"
120 #include "strus/lib/normalizer_snowball.hpp"
121 #include "strus/normalizerFunctionInterface.hpp"
122 #include "strus/normalizerFunctionInstanceInterface.hpp"
123 
124 // Aggregators (functions for values aggregated from many document properties like statistics)
125 #include "strus/lib/aggregator_vsm.hpp"
126 #include "strus/aggregatorFunctionInterface.hpp"
127 #include "strus/aggregatorFunctionInstanceInterface.hpp"
128 
129 // Pattern matching (functions for pattern matching)
130 #include "strus/patternLexerInterface.hpp"
131 #include "strus/patternLexerInstanceInterface.hpp"
132 #include "strus/patternLexerContextInterface.hpp"
133 #include "strus/patternMatcherInterface.hpp"
134 #include "strus/patternMatcherInstanceInterface.hpp"
135 #include "strus/patternMatcherContextInterface.hpp"
136 
137 // Loading strus objects from modules
138 #include "strus/analyzerModule.hpp"
139 #include "strus/storageModule.hpp"
142 
143 // Method Call Trace
144 #include "strus/traceElement.hpp"
145 #include "strus/traceLoggerInterface.hpp"
146 #include "strus/traceObjectBuilderInterface.hpp"
147 
148 // Version info
149 #include "strus/versionBase.hpp"
150 #include "strus/versionAnalyzer.hpp"
151 #include "strus/versionStorage.hpp"
152 #include "strus/versionTrace.hpp"
153 #include "strus/versionModule.hpp"
154 
155 #endif
156 
Interface of the strus module loader.
Storage module object type declarations.
Header with object types needed for declaration of a strus module.
Analyzer module object type declarations.