Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
search_sort_geo_distance.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/*
3
* Copyright 2023-Present Couchbase, Inc.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#pragma once
19
20
#include <
couchbase/geo_point.hxx
>
21
#include <
couchbase/search_geo_distance_units.hxx
>
22
#include <
couchbase/search_sort.hxx
>
23
24
#include <string>
25
26
namespace
couchbase
27
{
35
class
search_sort_geo_distance
:
public
search_sort
36
{
37
public
:
38
search_sort_geo_distance
(
geo_point
location, std::string field)
39
: location_{ location }
40
, field_{ std::move(field) }
41
{
42
}
43
44
search_sort_geo_distance
(
double
latitude,
double
longitude, std::string field)
45
: location_{
geo_point
{ latitude, longitude } }
46
, field_{ std::move(field) }
47
{
48
}
49
59
auto
descending
(
bool
desc) ->
search_sort_geo_distance
&;
60
69
auto
unit
(
search_geo_distance_units
unit
) ->
search_sort_geo_distance
&;
70
77
[[nodiscard]]
auto
encode
() const -> encoded_search_sort override;
78
79
private:
80
geo_point
location_;
81
std::
string
field_;
82
std::optional<
search_geo_distance_units
> unit_;
83
};
84
}
// namespace couchbase
couchbase::search_sort_geo_distance::encode
auto encode() const -> encoded_search_sort override
couchbase::search_sort_geo_distance::search_sort_geo_distance
search_sort_geo_distance(geo_point location, std::string field)
Definition
search_sort_geo_distance.hxx:38
couchbase::search_sort_geo_distance::descending
auto descending(bool desc) -> search_sort_geo_distance &
Set the sorting direction.
couchbase::search_sort_geo_distance::unit
auto unit(search_geo_distance_units unit) -> search_sort_geo_distance &
Specifies the unit used for sorting.
couchbase::search_sort_geo_distance::search_sort_geo_distance
search_sort_geo_distance(double latitude, double longitude, std::string field)
Definition
search_sort_geo_distance.hxx:44
couchbase::search_sort::search_sort
search_sort()=default
geo_point.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::search_geo_distance_units
search_geo_distance_units
Enumeration of units for geo_distance sorting.
Definition
search_geo_distance_units.hxx:25
search_geo_distance_units.hxx
search_sort.hxx
couchbase::geo_point
Tuple representing geographical point.
Definition
geo_point.hxx:28
couchbase
search_sort_geo_distance.hxx
Generated by
1.17.0