Open Chinese Convert
1.3.1+g5845ac8cb.dirty
A project for conversion between Traditional and Simplified Chinese
Toggle main menu visibility
Loading...
Searching...
No Matches
OpenCC-ver.1.3.1
src
Optional.hpp
1
/*
2
* Open Chinese Convert
3
*
4
* Copyright 2010-2014 Carbo Kuo <byvoid@byvoid.com>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#pragma once
20
21
namespace
opencc {
26
template
<
typename
T>
class
Optional
{
27
public
:
31
Optional
(T actual) : isNull(false), data(actual) {}
32
36
bool
IsNull
()
const
{
return
isNull; }
37
41
const
T&
Get
()
const
{
return
data; }
42
46
static
Optional<T>
Null
() {
return
Optional
(); }
47
48
private
:
49
Optional
() : isNull(true) {}
50
51
bool
isNull;
52
T data;
53
};
54
60
template
<
typename
T>
class
Optional<T*> {
61
private
:
62
Optional() : data(
nullptr
) {}
63
64
typedef
T* TPtr;
65
TPtr data;
66
67
public
:
68
Optional(TPtr actual) : data(actual) {}
69
70
bool
IsNull()
const
{
return
data ==
nullptr
; }
71
72
const
TPtr& Get()
const
{
return
data; }
73
74
static
Optional<TPtr> Null() {
return
Optional(); }
75
};
76
}
// namespace opencc
opencc::Optional::Get
const T & Get() const
Returns the containing data of the instance.
Definition
Optional.hpp:41
opencc::Optional::IsNull
bool IsNull() const
Returns true if the instance is null.
Definition
Optional.hpp:36
opencc::Optional::Null
static Optional< T > Null()
Constructs a null instance.
Definition
Optional.hpp:46
opencc::Optional::Optional
Optional(T actual)
The constructor of Optional.
Definition
Optional.hpp:31
Generated on
for Open Chinese Convert by
1.17.0