Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
analytics_result.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 2020-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/analytics_meta_data.hxx
>
21
#include <
couchbase/codec/encoded_value.hxx
>
22
#include <
couchbase/codec/serializer_traits.hxx
>
23
24
#include <cinttypes>
25
#include <vector>
26
27
namespace
couchbase
28
{
29
namespace
codec
30
{
31
class
tao_json_serializer
;
32
}
// namespace codec
33
40
class
analytics_result
41
{
42
public
:
47
analytics_result
() =
default
;
48
53
analytics_result
(
analytics_meta_data
meta_data
, std::vector<codec::binary> rows)
54
: meta_data_{ std::move(
meta_data
) }
55
, rows_{ std::move(rows) }
56
{
57
}
58
68
[[nodiscard]]
auto
meta_data
() const -> const
analytics_meta_data
&
69
{
70
return
meta_data_;
71
}
72
79
[[nodiscard]]
auto
rows_as_binary
() const -> const std::vector<
codec
::binary>&
80
{
81
return
rows_;
82
}
83
84
template
<
typename
Serializer =
codec::tao_json_serializer
,
85
typename
Document =
typename
Serializer::document_type,
86
std::enable_if_t<codec::is_serializer_v<Serializer>,
bool
> =
true
>
87
[[nodiscard]]
auto
rows_as
() const -> std::vector<Document>
88
{
89
std::vector<Document> rows;
90
rows.reserve(rows_.size());
91
for
(
const
auto
& row : rows_) {
92
rows.emplace_back(Serializer::template deserialize<Document>(row));
93
}
94
return
rows;
95
}
96
97
private
:
98
analytics_meta_data
meta_data_{};
99
std::vector<codec::binary> rows_{};
100
};
101
}
// namespace couchbase
analytics_meta_data.hxx
couchbase::analytics_meta_data
Stores any non-rows results related to the execution of a particular Analytics query.
Definition
analytics_meta_data.hxx:40
couchbase::analytics_result::analytics_result
analytics_result()=default
couchbase::analytics_result::rows_as_binary
auto rows_as_binary() const -> const std::vector< codec::binary > &
Definition
analytics_result.hxx:79
couchbase::analytics_result::analytics_result
analytics_result(analytics_meta_data meta_data, std::vector< codec::binary > rows)
Definition
analytics_result.hxx:53
couchbase::analytics_result::meta_data
auto meta_data() const -> const analytics_meta_data &
Returns the analytics_meta_data giving access to the additional metadata associated with this analyti...
Definition
analytics_result.hxx:68
couchbase::analytics_result::rows_as
auto rows_as() const -> std::vector< Document >
Definition
analytics_result.hxx:87
couchbase::codec::tao_json_serializer
Definition
tao_json_serializer.hxx:42
encoded_value.hxx
couchbase::codec
Definition
analytics_options.hxx:36
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
serializer_traits.hxx
couchbase
analytics_result.hxx
Generated by
1.17.0