Couchbase C++ SDK 1.4.0 (rev. 59aa900)
Loading...
Searching...
No Matches
analytics_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 analytics_row() = default;
48
57 explicit analytics_row(codec::binary content)
58 : content_{ std::move(content) }
59 {
60 }
61
80 template<typename Serializer = codec::tao_json_serializer,
81 typename Document = typename Serializer::document_type,
82 std::enable_if_t<codec::is_serializer_v<Serializer>, bool> = true>
83 [[nodiscard]] auto content_as() const -> Document
84 {
85 return Serializer::template deserialize<Document>(content_);
86 }
87
96 [[nodiscard]] auto content_as_binary() const -> const codec::binary&
97 {
98 return content_;
99 }
100
101private:
102 codec::binary content_{};
103};
104
105} // namespace couchbase
auto content_as_binary() const -> const codec::binary &
Returns the raw binary content of this row.
Definition analytics_row.hxx:96
auto content_as() const -> Document
Decodes the row content into the requested document type using the given serializer.
Definition analytics_row.hxx:83
analytics_row(codec::binary content)
Constructs a row from raw JSON bytes.
Definition analytics_row.hxx:57
Definition tao_json_serializer.hxx:42
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