IWORKNumberElement.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/*
3
* This file is part of the libetonyek project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*/
9
10
#ifndef IWORKNUMBERELEMENT_H_INCLUDED
11
#define IWORKNUMBERELEMENT_H_INCLUDED
12
13
#include "
IWORKNumberConverter.h
"
14
#include "
IWORKToken.h
"
15
#include "
IWORKXMLContextBase.h
"
16
17
namespace
libetonyek
18
{
19
20
template
<
typename
T>
21
class
IWORKNumberElement
:
public
IWORKXMLEmptyContextBase
22
{
23
public
:
24
IWORKNumberElement
(
IWORKXMLParserState
&state, boost::optional<T> &value);
25
26
private
:
27
void
attribute
(
int
name
,
const
char
*value)
override
;
28
29
private
:
30
boost::optional<T> &
m_value
;
31
};
32
33
template
<
typename
T>
34
IWORKNumberElement<T>::IWORKNumberElement
(
IWORKXMLParserState
&state, boost::optional<T> &value)
35
:
IWORKXMLEmptyContextBase
(state)
36
,
m_value
(value)
37
{
38
}
39
40
template
<
typename
T>
41
void
IWORKNumberElement<T>::attribute
(
const
int
name
,
const
char
*
const
value)
42
{
43
switch
(name)
44
{
45
case
IWORKToken::NS_URI_SFA
|
IWORKToken::number
:
46
m_value
=
IWORKNumberConverter<T>::convert
(value);
47
break
;
48
}
49
}
50
51
}
52
53
#endif // IWORKNUMBERELEMENT_H_INCLUDED
54
55
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek
Definition:
IWORKBezierElement.cpp:18
IWORKXMLContextBase.h
libetonyek::IWORKNumberConverter::convert
static boost::optional< T > convert(const char *value)
Definition:
IWORKNumberConverter.cpp:20
libetonyek::IWORKToken::number
Definition:
IWORKToken.h:211
libetonyek::IWORKNumberElement
Definition:
IWORKNumberElement.h:21
libetonyek::IWORKToken::NS_URI_SFA
Definition:
IWORKToken.h:419
name
const char * name
Definition:
IWORKToken.cpp:43
IWORKNumberConverter.h
libetonyek::IWORKXMLContextBase
Definition:
IWORKXMLContextBase.h:27
libetonyek::IWORKXMLParserState
Definition:
IWORKXMLParserState.h:30
libetonyek::IWORKNumberElement::IWORKNumberElement
IWORKNumberElement(IWORKXMLParserState &state, boost::optional< T > &value)
Definition:
IWORKNumberElement.h:34
IWORKToken.h
libetonyek::IWORKNumberElement::m_value
boost::optional< T > & m_value
Definition:
IWORKNumberElement.h:30
libetonyek::IWORKNumberElement::attribute
void attribute(int name, const char *value) override
Definition:
IWORKNumberElement.h:41
Generated for libetonyek by
doxygen
1.8.13