Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
search_sort_field.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/search_sort.hxx
>
21
#include <
couchbase/search_sort_field_missing.hxx
>
22
#include <
couchbase/search_sort_field_mode.hxx
>
23
#include <
couchbase/search_sort_field_type.hxx
>
24
25
#include <string>
26
27
namespace
couchbase
28
{
36
class
search_sort_field
:
public
search_sort
37
{
38
public
:
39
explicit
search_sort_field
(std::string field)
40
: field_{ std::move(field) }
41
{
42
}
43
44
search_sort_field
(std::string field,
bool
descending
)
45
:
search_sort
{
descending
}
46
, field_{ std::move(field) }
47
{
48
}
49
59
auto
descending
(
bool
desc) ->
search_sort_field
&;
60
74
auto
type
(
search_sort_field_type
value) ->
search_sort_field
&;
75
91
auto
mode
(
search_sort_field_mode
value) ->
search_sort_field
&;
92
107
auto
missing
(
search_sort_field_missing
value) ->
search_sort_field
&;
108
115
[[nodiscard]]
auto
encode
() const -> encoded_search_sort override;
116
117
private:
118
std::
string
field_;
119
std::optional<
search_sort_field_type
> type_{};
120
std::optional<search_sort_field_mode> mode_{};
121
std::optional<search_sort_field_missing> missing_{};
122
};
123
}
// namespace couchbase
couchbase::search_sort_field::encode
auto encode() const -> encoded_search_sort override
couchbase::search_sort_field::mode
auto mode(search_sort_field_mode value) -> search_sort_field &
Specifies the search-order for index-fields that contain multiple values (in consequence of arrays or...
couchbase::search_sort_field::search_sort_field
search_sort_field(std::string field)
Definition
search_sort_field.hxx:39
couchbase::search_sort_field::missing
auto missing(search_sort_field_missing value) -> search_sort_field &
Specifies the sort-procedure for documents with a missing value in a field specified for sorting.
couchbase::search_sort_field::search_sort_field
search_sort_field(std::string field, bool descending)
Definition
search_sort_field.hxx:44
couchbase::search_sort_field::descending
auto descending(bool desc) -> search_sort_field &
Set the sorting direction.
couchbase::search_sort_field::type
auto type(search_sort_field_type value) -> search_sort_field &
Specifies the type of the search-order field value.
couchbase::search_sort::search_sort
search_sort()=default
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::search_sort_field_mode
search_sort_field_mode
Definition
search_sort_field_mode.hxx:22
couchbase::search_sort_field_type
search_sort_field_type
Definition
search_sort_field_type.hxx:22
couchbase::search_sort_field_missing
search_sort_field_missing
Definition
search_sort_field_missing.hxx:22
search_sort.hxx
search_sort_field_missing.hxx
search_sort_field_mode.hxx
search_sort_field_type.hxx
couchbase
search_sort_field.hxx
Generated by
1.17.0