Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
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
20
#include <
couchbase/codec/encoded_value.hxx
>
21
#include <
couchbase/codec/serializer_traits.hxx
>
22
#include <utility>
23
24
namespace
couchbase
25
{
26
27
namespace
codec
28
{
29
class
tao_json_serializer
;
30
}
// namespace codec
31
40
class
analytics_row
41
{
42
public
:
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
101
private
:
102
codec::binary
content_{};
103
};
104
105
}
// namespace couchbase
couchbase::analytics_row::content_as_binary
auto content_as_binary() const -> const codec::binary &
Returns the raw binary content of this row.
Definition
analytics_row.hxx:96
couchbase::analytics_row::content_as
auto content_as() const -> Document
Decodes the row content into the requested document type using the given serializer.
Definition
analytics_row.hxx:83
couchbase::analytics_row::analytics_row
analytics_row()=default
couchbase::analytics_row::analytics_row
analytics_row(codec::binary content)
Constructs a row from raw JSON bytes.
Definition
analytics_row.hxx:57
couchbase::codec::tao_json_serializer
Definition
tao_json_serializer.hxx:42
encoded_value.hxx
couchbase::codec
Definition
analytics_options.hxx:36
couchbase::codec::binary
std::vector< std::byte > binary
Definition
encoded_value.hxx:25
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
serializer_traits.hxx
couchbase
analytics_row.hxx
Generated by
1.17.0