HCE project C++ developers source code library
1.1.1
HCE project developer library
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
SphinxMatchInfo.hpp
Go to the documentation of this file.
1
14
#ifndef SPHINX_MATCH_INFO_HPP
15
#define SPHINX_MATCH_INFO_HPP
16
17
#include <vector>
18
19
#include "
SphinxResultDataItem.hpp
"
20
21
namespace
HCE
22
{
23
namespace
sphinx
24
{
25
//-----------------------------------------------------------------------------
26
struct
AttrInfo
27
{
28
AttrInfo
(
void
) :
name
(
""
),
value
(
""
) {}
29
AttrInfo
(
const
std::string& name_,
const
std::string& value_) :
name
(name_),
value
(value_) {}
30
AttrInfo
(
const
AttrInfo
& rhs);
31
AttrInfo
(
AttrInfo
&& rhs);
32
33
AttrInfo
&
operator=
(
const
AttrInfo
& rhs);
34
AttrInfo
&
operator=
(
AttrInfo
&& rhs);
35
36
std::string
name
;
37
std::string
value
;
38
};
39
//-----------------------------------------------------------------------------
40
class
SphinxMatchInfo
41
{
42
enum
{STRING_LENGTH=20};
43
public
:
44
SphinxMatchInfo
(
void
);
45
explicit
SphinxMatchInfo
(
size_t
attributesCount
);
46
SphinxMatchInfo
(
const
SphinxMatchInfo
& rhs);
47
SphinxMatchInfo
(
SphinxMatchInfo
&& rhs);
48
~SphinxMatchInfo
(
void
) {}
49
50
SphinxMatchInfo
&
operator=
(
const
SphinxMatchInfo
& rhs);
51
SphinxMatchInfo
&
operator=
(
SphinxMatchInfo
&& rhs);
52
53
void
setDocId
(
unsigned
long
long
docId_) {docId = docId_;}
54
unsigned
long
long
getDocId
(
void
)
const
{
return
docId;}
55
private
:
56
void
setWeight(
const
std::string& weight_) {weight = weight_;}
57
public
:
58
std::string
getWeight
(
void
)
const
{
return
weight;}
59
void
setWeightFromNumeric
(
unsigned
long
long
weight,
unsigned
long
long
length= STRING_LENGTH);
60
void
setWeightFromHexString
(
const
std::string& weight);
61
void
setWeightFromDecString
(
const
std::string& weight,
unsigned
long
long
length=STRING_LENGTH);
62
63
void
addAttrInfo
(
const
AttrInfo
& attrInfo);
64
void
addAttrInfo
(
AttrInfo
&& attrInfo);
65
void
addAttrInfo
(
const
std::string& name,
const
std::string& value);
66
67
const
std::vector<SphinxResultDataItem<AttrInfo> >&
getAttributes
(
void
)
const
{
return
attributes;}
68
const
AttrInfo
getFieldByName
(
const
std::string& attrName)
const
;
69
70
size_t
getAttributesCount
(
void
)
const
;
71
const
AttrInfo
&
getAttrItem
(
size_t
index
)
const
;
72
void
setAttrItem
(
size_t
index
,
const
AttrInfo
& attr);
73
void
setAttrItem
(
size_t
index
,
AttrInfo
&& attr);
74
75
void
clear
(
void
);
76
void
reset
(
void
);
77
void
resize
(
size_t
sz);
78
private
:
79
unsigned
long
long
docId;
80
std::string weight;
81
std::vector<SphinxResultDataItem<AttrInfo> > attributes;
82
83
friend
class
SphinxResultDataMemoryManager
;
84
friend
class
CalculateStrategyDefault
;
85
friend
class
CalculateStrategyUseFieldNames
;
86
};
87
//-----------------------------------------------------------------------------
88
//-----------------------------------------------------------------------------
89
}
// namespace sphinx
90
}
// namespace HCE
91
92
#endif // SPHINX_MATCH_INFO_HPP
sources
sphinx
src
SphinxMatchInfo.hpp
Generated on Mon Jan 13 2014 13:08:39 for HCE project C++ developers source code library by
1.8.1.2