Couchbase C++ SDK 1.4.0 (rev. 59aa900)
Loading...
Searching...
No Matches
query_row.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
22#include <utility>
23
24namespace couchbase
25{
26
27namespace codec
28{
30} // namespace codec
31
41{
42public:
47 query_row() = default;
48
57 explicit query_row(codec::binary content)
58 : content_{ std::move(content) }
59 {
60 }
61
86 template<typename Serializer = codec::tao_json_serializer,
87 typename Document = typename Serializer::document_type,
88 std::enable_if_t<codec::is_serializer_v<Serializer>, bool> = true>
89 [[nodiscard]] auto content_as() const -> Document
90 {
91 return Serializer::template deserialize<Document>(content_);
92 }
93
102 [[nodiscard]] auto content_as_binary() const -> const codec::binary&
103 {
104 return content_;
105 }
106
107private:
108 codec::binary content_{};
109};
110
111} // namespace couchbase
Definition tao_json_serializer.hxx:42
auto content_as_binary() const -> const codec::binary &
Returns the raw binary content of this row.
Definition query_row.hxx:102
query_row(codec::binary content)
Constructs a row from raw JSON bytes.
Definition query_row.hxx:57
auto content_as() const -> Document
Decodes the row content into the requested document type using the given serializer.
Definition query_row.hxx:89
Definition analytics_options.hxx:36
std::vector< std::byte > binary
Definition encoded_value.hxx:25
Represents a single item from the result of scan().
Definition allow_querying_search_index_options.hxx:28