Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
yaml-cpp
Commits
253c80d0
Commit
253c80d0
authored
Mar 23, 2014
by
Jesse Beder
Browse files
Merge from core
parents
ad0a3311
06bf012d
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
577 additions
and
682 deletions
+577
-682
include/yaml-cpp/emitfromevents.h
include/yaml-cpp/emitfromevents.h
+1
-5
include/yaml-cpp/emitterdef.h
include/yaml-cpp/emitterdef.h
+1
-9
include/yaml-cpp/emittermanip.h
include/yaml-cpp/emittermanip.h
+1
-5
include/yaml-cpp/traits.h
include/yaml-cpp/traits.h
+16
-48
src/collectionstack.h
src/collectionstack.h
+1
-8
src/directives.cpp
src/directives.cpp
+2
-2
src/emitterstate.cpp
src/emitterstate.cpp
+2
-2
src/emitterstate.h
src/emitterstate.h
+3
-14
src/emitterutils.cpp
src/emitterutils.cpp
+1
-3
src/emitterutils.h
src/emitterutils.h
+1
-6
src/parser.cpp
src/parser.cpp
+1
-1
src/regeximpl.h
src/regeximpl.h
+2
-2
src/scanner.h
src/scanner.h
+3
-14
src/scanscalar.h
src/scanscalar.h
+3
-15
src/scantoken.cpp
src/scantoken.cpp
+1
-1
src/stream.cpp
src/stream.cpp
+36
-36
src/stream.h
src/stream.h
+1
-7
src/token.h
src/token.h
+1
-5
test/integration/encoding_test.cpp
test/integration/encoding_test.cpp
+2
-0
test/integration/gen_emitter_test.cpp
test/integration/gen_emitter_test.cpp
+498
-499
No files found.
include/yaml-cpp/emitfromevents.h
View file @
253c80d0
...
...
@@ -47,11 +47,7 @@ class EmitFromEvents : public EventHandler {
Emitter
&
m_emitter
;
struct
State
{
enum
value
{
WaitingForSequenceEntry
,
WaitingForKey
,
WaitingForValue
};
enum
value
{
WaitingForSequenceEntry
,
WaitingForKey
,
WaitingForValue
};
};
std
::
stack
<
State
::
value
>
m_stateStack
;
};
...
...
include/yaml-cpp/emitterdef.h
View file @
253c80d0
...
...
@@ -9,15 +9,7 @@
namespace
YAML
{
struct
EmitterNodeType
{
enum
value
{
None
,
Property
,
Scalar
,
FlowSeq
,
BlockSeq
,
FlowMap
,
BlockMap
};
enum
value
{
None
,
Property
,
Scalar
,
FlowSeq
,
BlockSeq
,
FlowMap
,
BlockMap
};
};
}
...
...
include/yaml-cpp/emittermanip.h
View file @
253c80d0
...
...
@@ -85,11 +85,7 @@ inline _Anchor Anchor(const std::string content) { return _Anchor(content); }
struct
_Tag
{
struct
Type
{
enum
value
{
Verbatim
,
PrimaryHandle
,
NamedHandle
};
enum
value
{
Verbatim
,
PrimaryHandle
,
NamedHandle
};
};
explicit
_Tag
(
const
std
::
string
&
prefix_
,
const
std
::
string
&
content_
,
...
...
include/yaml-cpp/traits.h
View file @
253c80d0
...
...
@@ -10,103 +10,71 @@
namespace
YAML
{
template
<
typename
>
struct
is_numeric
{
enum
{
value
=
false
};
enum
{
value
=
false
};
};
template
<
>
struct
is_numeric
<
char
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
char
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
long
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
long
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
short
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
short
int
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
#if defined(_MSC_VER) && (_MSC_VER < 1310)
template
<
>
struct
is_numeric
<
__int64
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
__int64
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
#else
template
<
>
struct
is_numeric
<
long
long
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
unsigned
long
long
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
#endif
template
<
>
struct
is_numeric
<
float
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
double
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
>
struct
is_numeric
<
long
double
>
{
enum
{
value
=
true
};
enum
{
value
=
true
};
};
template
<
bool
,
class
T
=
void
>
...
...
src/collectionstack.h
View file @
253c80d0
...
...
@@ -12,14 +12,7 @@
namespace
YAML
{
struct
CollectionType
{
enum
value
{
None
,
BlockMap
,
BlockSeq
,
FlowMap
,
FlowSeq
,
CompactMap
};
enum
value
{
None
,
BlockMap
,
BlockSeq
,
FlowMap
,
FlowSeq
,
CompactMap
};
};
class
CollectionStack
{
...
...
src/directives.cpp
View file @
253c80d0
...
...
@@ -8,8 +8,8 @@ Directives::Directives() {
version
.
minor
=
2
;
}
const
std
::
string
Directives
::
TranslateTagHandle
(
const
std
::
string
&
handle
)
const
{
const
std
::
string
Directives
::
TranslateTagHandle
(
const
std
::
string
&
handle
)
const
{
std
::
map
<
std
::
string
,
std
::
string
>::
const_iterator
it
=
tags
.
find
(
handle
);
if
(
it
==
tags
.
end
())
{
if
(
handle
==
"!!"
)
...
...
src/emitterstate.cpp
View file @
253c80d0
...
...
@@ -82,8 +82,8 @@ void EmitterState::StartedNode() {
m_hasNonContent
=
false
;
}
EmitterNodeType
::
value
EmitterState
::
NextGroupType
(
GroupType
::
value
type
)
const
{
EmitterNodeType
::
value
EmitterState
::
NextGroupType
(
GroupType
::
value
type
)
const
{
if
(
type
==
GroupType
::
Seq
)
{
if
(
GetFlowType
(
type
)
==
Block
)
return
EmitterNodeType
::
BlockSeq
;
...
...
src/emitterstate.h
View file @
253c80d0
...
...
@@ -19,24 +19,13 @@
namespace
YAML
{
struct
FmtScope
{
enum
value
{
Local
,
Global
};
enum
value
{
Local
,
Global
};
};
struct
GroupType
{
enum
value
{
None
,
Seq
,
Map
};
enum
value
{
None
,
Seq
,
Map
};
};
struct
FlowType
{
enum
value
{
None
,
Flow
,
Block
};
enum
value
{
None
,
Flow
,
Block
};
};
class
EmitterState
{
...
...
src/emitterutils.cpp
View file @
253c80d0
...
...
@@ -13,9 +13,7 @@
namespace
YAML
{
namespace
Utils
{
namespace
{
enum
{
REPLACEMENT_CHARACTER
=
0xFFFD
};
enum
{
REPLACEMENT_CHARACTER
=
0xFFFD
};
bool
IsAnchorChar
(
int
ch
)
{
// test for ns-anchor-char
switch
(
ch
)
{
...
...
src/emitterutils.h
View file @
253c80d0
...
...
@@ -21,12 +21,7 @@ namespace YAML {
class
Binary
;
struct
StringFormat
{
enum
value
{
Plain
,
SingleQuoted
,
DoubleQuoted
,
Literal
};
enum
value
{
Plain
,
SingleQuoted
,
DoubleQuoted
,
Literal
};
};
namespace
Utils
{
...
...
src/parser.cpp
View file @
253c80d0
...
...
@@ -2,7 +2,7 @@
#include <sstream>
#include "directives.h" // IWYU pragma: keep
#include "scanner.h" // IWYU pragma: keep
#include "scanner.h"
// IWYU pragma: keep
#include "singledocparser.h"
#include "token.h"
#include "yaml-cpp/exceptions.h" // IWYU pragma: keep
...
...
src/regeximpl.h
View file @
253c80d0
...
...
@@ -104,8 +104,8 @@ inline int RegEx::MatchOpEmpty(const Source& source) const {
}
template
<
>
inline
int
RegEx
::
MatchOpEmpty
<
StringCharSource
>
(
const
StringCharSource
&
source
)
const
{
inline
int
RegEx
::
MatchOpEmpty
<
StringCharSource
>
(
const
StringCharSource
&
source
)
const
{
return
!
source
?
0
:
-
1
;
// the empty regex only is successful on the empty string
...
...
src/scanner.h
View file @
253c80d0
...
...
@@ -36,16 +36,8 @@ class Scanner {
private:
struct
IndentMarker
{
enum
INDENT_TYPE
{
MAP
,
SEQ
,
NONE
};
enum
STATUS
{
VALID
,
INVALID
,
UNKNOWN
};
enum
INDENT_TYPE
{
MAP
,
SEQ
,
NONE
};
enum
STATUS
{
VALID
,
INVALID
,
UNKNOWN
};
IndentMarker
(
int
column_
,
INDENT_TYPE
type_
)
:
column
(
column_
),
type
(
type_
),
status
(
VALID
),
pStartToken
(
0
)
{}
...
...
@@ -55,10 +47,7 @@ class Scanner {
Token
*
pStartToken
;
};
enum
FLOW_MARKER
{
FLOW_MAP
,
FLOW_SEQ
};
enum
FLOW_MARKER
{
FLOW_MAP
,
FLOW_SEQ
};
private:
// scanning
...
...
src/scanscalar.h
View file @
253c80d0
...
...
@@ -13,21 +13,9 @@
#include "stream.h"
namespace
YAML
{
enum
CHOMP
{
STRIP
=
-
1
,
CLIP
,
KEEP
};
enum
ACTION
{
NONE
,
BREAK
,
THROW
};
enum
FOLD
{
DONT_FOLD
,
FOLD_BLOCK
,
FOLD_FLOW
};
enum
CHOMP
{
STRIP
=
-
1
,
CLIP
,
KEEP
};
enum
ACTION
{
NONE
,
BREAK
,
THROW
};
enum
FOLD
{
DONT_FOLD
,
FOLD_BLOCK
,
FOLD_FLOW
};
struct
ScanScalarParams
{
ScanScalarParams
()
...
...
src/scantoken.cpp
View file @
253c80d0
...
...
@@ -6,7 +6,7 @@
#include "scanner.h"
#include "scanscalar.h"
#include "scantag.h" // IWYU pragma: keep
#include "tag.h" // IWYU pragma: keep
#include "tag.h"
// IWYU pragma: keep
#include "token.h"
#include "yaml-cpp/exceptions.h" // IWYU pragma: keep
#include "yaml-cpp/mark.h"
...
...
src/stream.cpp
View file @
253c80d0
...
...
@@ -70,42 +70,42 @@ static bool s_introFinalState[] = {false, // uis_start
static
UtfIntroState
s_introTransitions
[][
uictMax
]
=
{
// uict00, uictBB, uictBF, uictEF,
// uictFE, uictFF, uictAscii, uictOther
{
uis_utfbe_b1
,
uis_utf8
,
uis_utf8
,
uis_utf8_bom1
,
uis_utf16be_bom1
,
uis_utfle_bom1
,
uis_utf8_imp
,
uis_utf8
},
{
uis_utf32be_b2
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16be
,
uis_utf8
},
{
uis_utf32be
,
uis_utf8
,
uis_utf
8
,
uis_utf8
,
uis_utf32be_bom3
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf32be
,
uis_utf8
,
uis_utf8
},
{
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
},
{
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16be
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16le_bom2
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf32le_bom3
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
},
{
uis_utf16le_imp
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf32le_imp3
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf8
,
uis_utf8_bom2
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
};
{
uis_utfbe_b1
,
uis_utf8
,
uis_utf8
,
uis_utf8_bom1
,
uis_utf16be_bom1
,
uis_utfle_bom1
,
uis_utf8_imp
,
uis_utf8
},
{
uis_utf32be_b2
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16be
,
uis_utf8
},
{
uis_utf32be
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf
32be_bom3
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf32be
,
uis_utf8
,
uis_utf8
},
{
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
,
uis_utf32be
},
{
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
,
uis_utf16be
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16be
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf16le_bom2
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf32le_bom3
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
,
uis_utf32le
},
{
uis_utf16le_imp
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf32le_imp3
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf32le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
,
uis_utf16le
},
{
uis_utf8
,
uis_utf8_bom2
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
{
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
,
uis_utf8
},
};
static
char
s_introUngetCount
[][
uictMax
]
=
{
// uict00, uictBB, uictBF, uictEF, uictFE, uictFF, uictAscii, uictOther
...
...
src/stream.h
View file @
253c80d0
...
...
@@ -41,13 +41,7 @@ class Stream : private noncopyable {
void
ResetColumn
()
{
m_mark
.
column
=
0
;
}
private:
enum
CharacterSet
{
utf8
,
utf16le
,
utf16be
,
utf32le
,
utf32be
};
enum
CharacterSet
{
utf8
,
utf16le
,
utf16be
,
utf32le
,
utf32be
};
std
::
istream
&
m_input
;
Mark
m_mark
;
...
...
src/token.h
View file @
253c80d0
...
...
@@ -22,11 +22,7 @@ const std::string TokenNames[] = {
struct
Token
{
// enums
enum
STATUS
{
VALID
,
INVALID
,
UNVERIFIED
};
enum
STATUS
{
VALID
,
INVALID
,
UNVERIFIED
};
enum
TYPE
{
DIRECTIVE
,
DOC_START
,
...
...
test/integration/encoding_test.cpp
View file @
253c80d0
...
...
@@ -6,6 +6,7 @@
#include "gtest/gtest.h"
using
::
testing
::
_
;
using
::
testing
::
InSequence
;
namespace
YAML
{
namespace
{
...
...
@@ -92,6 +93,7 @@ class EncodingTest : public HandlerTest {
}
void
Run
()
{
InSequence
sequence
;
EXPECT_CALL
(
handler
,
OnDocumentStart
(
_
));
EXPECT_CALL
(
handler
,
OnSequenceStart
(
_
,
"?"
,
0
));
for
(
std
::
size_t
i
=
0
;
i
<
m_entries
.
size
();
i
++
)
{
...
...
test/integration/gen_emitter_test.cpp
View file @
253c80d0
This diff is collapsed.
Click to expand it.
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment