Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
+
Variables
c
d
e
f
g
i
k
l
m
n
o
r
s
t
z
+
Typedefs
a
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
w
y
z
Enumerations
+
Enumerator
k
l
p
s
+
Classes
Class List
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
+
Typedefs
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
Enumerations
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
x
z
+
Related Functions
a
b
c
e
f
h
i
m
o
p
r
s
t
u
v
w
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
x
+
Functions
_
a
c
g
m
n
r
s
t
v
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
Typedefs
Enumerations
Enumerator
+
Macros
_
a
c
d
e
f
g
h
i
l
n
p
r
s
t
u
x
abseil_cpp
absl
time
internal
cctz
src
time_zone_if.cc
Go to the documentation of this file.
1
// Copyright 2016 Google Inc. All Rights Reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#include "
time_zone_if.h
"
16
#include "
time_zone_info.h
"
17
#include "
time_zone_libc.h
"
18
19
namespace
absl
{
20
namespace
time_internal {
21
namespace
cctz
{
22
23
std::unique_ptr<TimeZoneIf>
TimeZoneIf::Load
(
const
std::string&
name
) {
24
// Support "libc:localtime" and "libc:*" to access the legacy
25
// localtime and UTC support respectively from the C library.
26
if
(name.compare(0, 5,
"libc:"
) == 0) {
27
return
std::unique_ptr<TimeZoneIf>(
new
TimeZoneLibC
(name.substr(5)));
28
}
29
30
// Otherwise use the "zoneinfo" implementation by default.
31
std::unique_ptr<TimeZoneInfo> tz(
new
TimeZoneInfo
);
32
if
(!tz->Load(name)) tz.reset();
33
return
std::unique_ptr<TimeZoneIf>(tz.release());
34
}
35
36
// Defined out-of-line to avoid emitting a weak vtable in all TUs.
37
TimeZoneIf::~TimeZoneIf
() {}
38
39
}
// namespace cctz
40
}
// namespace time_internal
41
}
// namespace absl
absl::time_internal::cctz
Definition:
internal/cctz/include/cctz/civil_time.h:22
time_zone_libc.h
time_zone_info.h
time_zone_if.h
absl
Definition:
algorithm.h:29
absl::time_internal::cctz::TimeZoneInfo
Definition:
time_zone_info.h:63
absl::time_internal::cctz::TimeZoneIf::~TimeZoneIf
virtual ~TimeZoneIf()
Definition:
time_zone_if.cc:37
name
char name[1]
Definition:
mutex.cc:296
absl::time_internal::cctz::TimeZoneIf::Load
static std::unique_ptr< TimeZoneIf > Load(const std::string &name)
Definition:
time_zone_if.cc:23
absl::time_internal::cctz::TimeZoneLibC
Definition:
time_zone_libc.h:29
abseil_cpp
Author(s):
autogenerated on Mon Feb 28 2022 21:31:21