SIS
Symmetric Index Structures
/Users/dbr/ma/src/lmu/cis/sis/cppbase.hpp
Go to the documentation of this file.
00001 #ifndef CPPBASE_HPP
00002 #define CPPBASE_HPP
00003 
00004 /*
00005     Debugging
00006 
00007 */
00008 // #ifdef DEBUG_LEVEL
00009 //     #undef DEBUG_LEVEL
00010 //     #define DEBUG_LEVEL 6
00011 // #endif
00012 
00013 
00014 
00015 
00129 #ifdef __cplusplus
00130     extern "C" {
00131     #include "../../../bas/lml/base.h"
00132     }
00133 #else
00134     #include "../../../bas/lml/base.h"
00135 #endif
00136 
00137 
00138 
00271 #undef ENUMKEYWORD
00272 #undef ENUMNAMESPACE
00273 
00274 #ifdef MANAGED
00275 #   define ENUMKEYWORD public enum class
00276 #   define ENUMNAMESPACE EnumShareManaged
00277 #else
00278 #   define ENUMKEYWORD enum
00279 #   define ENUMNAMESPACE EnumShare
00280 #endif
00281 
00282 #include <string>
00283 #include <tuple>
00284 
00285 namespace lmu { namespace cis { namespace sis {
00286 
00291     ENUMKEYWORD ManagedAutomatonStage {
00292         EMPTY,
00293         UNSORTED,
00294         SORTED,
00295         SHRUNK,
00296         TARJANTABLE,
00297         INDEXED,
00298         CLOSED
00299     };
00301 
00302 
00306 
00307     typedef std::string                     DocumentName;
00308     typedef UINT                            DocumentLength;
00309     typedef UINT                            DocumentPosition;
00310     typedef UINT                            State;
00311     typedef UINT                            SinkState;
00312     typedef DocumentPosition                RelativeDocumentPosition;
00313     typedef DocumentPosition                AbsoluteDocumentPosition;
00314     typedef DocumentPosition                ActualDocumentPosition;
00316     typedef std::tuple <
00317                 RelativeDocumentPosition,
00318                 AbsoluteDocumentPosition,
00319                 ActualDocumentPosition
00320             >                               PositionsTuple;
00322 
00323 
00324 } } } /* End of namespace lmu::cis::sis */
00325 
00326 #endif /* end of include guard: CPPBASE_HPP */