Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
date_range.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 2023-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 <chrono>
21
#include <cstdint>
22
#include <ctime>
23
#include <optional>
24
#include <string>
25
#include <variant>
26
27
namespace
couchbase
28
{
32
class
date_range
33
{
34
public
:
35
date_range
(std::string
name
, std::string
start
, std::string
end
);
36
date_range
(std::string
name
,
37
std::chrono::system_clock::time_point
start
,
38
std::chrono::system_clock::time_point
end
);
39
date_range
(std::string
name
, std::tm
start
, std::tm
end
);
40
41
static
date_range
with_start
(std::string
name
, std::string
start
);
42
static
date_range
with_start
(std::string
name
, std::chrono::system_clock::time_point
start
);
43
static
date_range
with_start
(std::string
name
, std::tm
start
);
44
45
static
date_range
with_end
(std::string
name
, std::string
end
);
46
static
date_range
with_end
(std::string
name
, std::chrono::system_clock::time_point
end
);
47
static
date_range
with_end
(std::string
name
, std::tm
end
);
48
49
[[nodiscard]]
auto
name
() const -> const std::
string
&
50
{
51
return
name_;
52
}
53
54
[[nodiscard]]
auto
start
() const -> const std::optional<std::
string
>&
55
{
56
return
start_;
57
}
58
59
[[nodiscard]]
auto
end
() const -> const std::optional<std::
string
>&
60
{
61
return
end_;
62
}
63
64
private
:
65
date_range
(std::string
name
, std::optional<std::string>
start
, std::optional<std::string>
end
);
66
67
std::string name_;
68
std::optional<std::string> start_{};
69
std::optional<std::string> end_{};
70
};
71
}
// namespace couchbase
couchbase::date_range::with_start
static date_range with_start(std::string name, std::chrono::system_clock::time_point start)
couchbase::date_range::with_start
static date_range with_start(std::string name, std::tm start)
couchbase::date_range::with_end
static date_range with_end(std::string name, std::string end)
couchbase::date_range::end
auto end() const -> const std::optional< std::string > &
Definition
date_range.hxx:59
couchbase::date_range::date_range
date_range(std::string name, std::tm start, std::tm end)
couchbase::date_range::with_end
static date_range with_end(std::string name, std::chrono::system_clock::time_point end)
couchbase::date_range::with_end
static date_range with_end(std::string name, std::tm end)
couchbase::date_range::name
auto name() const -> const std::string &
Definition
date_range.hxx:49
couchbase::date_range::start
auto start() const -> const std::optional< std::string > &
Definition
date_range.hxx:54
couchbase::date_range::date_range
date_range(std::string name, std::chrono::system_clock::time_point start, std::chrono::system_clock::time_point end)
couchbase::date_range::date_range
date_range(std::string name, std::string start, std::string end)
couchbase::date_range::with_start
static date_range with_start(std::string name, std::string start)
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase
date_range.hxx
Generated by
1.17.0