Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
compression_options.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 <cstddef>
21
22
namespace
couchbase
23
{
24
class
compression_options
25
{
26
public
:
27
auto
enabled
(
bool
enabled
) ->
compression_options
&
28
{
29
enabled_ =
enabled
;
30
return
*
this
;
31
}
32
33
auto
min_size
(std::size_t size) ->
compression_options
&
34
{
35
min_size_ = size;
36
return
*
this
;
37
}
38
39
auto
min_ratio
(
double
ratio) ->
compression_options
&
40
{
41
min_ratio_ = ratio;
42
return
*
this
;
43
}
44
45
struct
built
{
46
bool
enabled
;
47
std::size_t
min_size
;
48
double
min_ratio
;
49
};
50
51
[[nodiscard]]
auto
build
() const ->
built
52
{
53
return
{
54
enabled_,
55
min_size_,
56
min_ratio_,
57
};
58
}
59
60
private
:
61
bool
enabled_{
true
};
62
std::size_t min_size_{ 32 };
63
double
min_ratio_{ 0.83 };
64
};
65
}
// namespace couchbase
couchbase::compression_options
Definition
compression_options.hxx:25
couchbase::compression_options::min_size
auto min_size(std::size_t size) -> compression_options &
Definition
compression_options.hxx:33
couchbase::compression_options::enabled
auto enabled(bool enabled) -> compression_options &
Definition
compression_options.hxx:27
couchbase::compression_options::build
auto build() const -> built
Definition
compression_options.hxx:51
couchbase::compression_options::min_ratio
auto min_ratio(double ratio) -> compression_options &
Definition
compression_options.hxx:39
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::compression_options::built
Definition
compression_options.hxx:45
couchbase::compression_options::built::min_ratio
double min_ratio
Definition
compression_options.hxx:48
couchbase::compression_options::built::min_size
std::size_t min_size
Definition
compression_options.hxx:47
couchbase::compression_options::built::enabled
bool enabled
Definition
compression_options.hxx:46
couchbase
compression_options.hxx
Generated by
1.17.0