diff --git a/src/emitter.cpp b/src/emitter.cpp index 644b312..08b8fdd 100644 --- a/src/emitter.cpp +++ b/src/emitter.cpp @@ -205,7 +205,7 @@ void Emitter::EmitBeginSeq() { void Emitter::EmitEndSeq() { if (!good()) return; - FlowType::value originalType = m_pState->CurGroupFlowType(); + FlowType originalType = m_pState->CurGroupFlowType(); if (m_pState->CurGroupChildCount() == 0) m_pState->ForceFlow(); @@ -240,7 +240,7 @@ void Emitter::EmitBeginMap() { void Emitter::EmitEndMap() { if (!good()) return; - FlowType::value originalType = m_pState->CurGroupFlowType(); + FlowType originalType = m_pState->CurGroupFlowType(); if (m_pState->CurGroupChildCount() == 0) m_pState->ForceFlow(); diff --git a/src/emitterstate.cpp b/src/emitterstate.cpp index 3dbe401..9b09f17 100644 --- a/src/emitterstate.cpp +++ b/src/emitterstate.cpp @@ -96,7 +96,7 @@ void EmitterState::StartedNode() { } EmitterNodeType::value EmitterState::NextGroupType( - GroupType::value type) const { + GroupType type) const { if (type == GroupType::Seq) { if (GetFlowType(type) == Block) return EmitterNodeType::BlockSeq; @@ -129,7 +129,7 @@ void EmitterState::StartedScalar() { ClearModifiedSettings(); } -void EmitterState::StartedGroup(GroupType::value type) { +void EmitterState::StartedGroup(GroupType type) { StartedNode(); const std::size_t lastGroupIndent = @@ -156,7 +156,7 @@ void EmitterState::StartedGroup(GroupType::value type) { m_groups.push_back(std::move(pGroup)); } -void EmitterState::EndedGroup(GroupType::value type) { +void EmitterState::EndedGroup(GroupType type) { if (m_groups.empty()) { if (type == GroupType::Seq) { return SetError(ErrorMsg::UNEXPECTED_END_SEQ); @@ -203,11 +203,11 @@ EmitterNodeType::value EmitterState::CurGroupNodeType() const { return m_groups.back()->NodeType(); } -GroupType::value EmitterState::CurGroupType() const { +GroupType EmitterState::CurGroupType() const { return m_groups.empty() ? GroupType::NoType : m_groups.back()->type; } -FlowType::value EmitterState::CurGroupFlowType() const { +FlowType EmitterState::CurGroupFlowType() const { return m_groups.empty() ? FlowType::NoType : m_groups.back()->flowType; } @@ -238,7 +238,7 @@ void EmitterState::RestoreGlobalModifiedSettings() { } bool EmitterState::SetOutputCharset(EMITTER_MANIP value, - FmtScope::value scope) { + FmtScope scope) { switch (value) { case EmitNonAscii: case EscapeNonAscii: @@ -250,7 +250,7 @@ bool EmitterState::SetOutputCharset(EMITTER_MANIP value, } } -bool EmitterState::SetStringFormat(EMITTER_MANIP value, FmtScope::value scope) { +bool EmitterState::SetStringFormat(EMITTER_MANIP value, FmtScope scope) { switch (value) { case Auto: case SingleQuoted: @@ -263,7 +263,7 @@ bool EmitterState::SetStringFormat(EMITTER_MANIP value, FmtScope::value scope) { } } -bool EmitterState::SetBoolFormat(EMITTER_MANIP value, FmtScope::value scope) { +bool EmitterState::SetBoolFormat(EMITTER_MANIP value, FmtScope scope) { switch (value) { case OnOffBool: case TrueFalseBool: @@ -276,7 +276,7 @@ bool EmitterState::SetBoolFormat(EMITTER_MANIP value, FmtScope::value scope) { } bool EmitterState::SetBoolLengthFormat(EMITTER_MANIP value, - FmtScope::value scope) { + FmtScope scope) { switch (value) { case LongBool: case ShortBool: @@ -288,7 +288,7 @@ bool EmitterState::SetBoolLengthFormat(EMITTER_MANIP value, } bool EmitterState::SetBoolCaseFormat(EMITTER_MANIP value, - FmtScope::value scope) { + FmtScope scope) { switch (value) { case UpperCase: case LowerCase: @@ -300,7 +300,7 @@ bool EmitterState::SetBoolCaseFormat(EMITTER_MANIP value, } } -bool EmitterState::SetNullFormat(EMITTER_MANIP value, FmtScope::value scope) { +bool EmitterState::SetNullFormat(EMITTER_MANIP value, FmtScope scope) { switch (value) { case LowerNull: case UpperNull: @@ -313,7 +313,7 @@ bool EmitterState::SetNullFormat(EMITTER_MANIP value, FmtScope::value scope) { } } -bool EmitterState::SetIntFormat(EMITTER_MANIP value, FmtScope::value scope) { +bool EmitterState::SetIntFormat(EMITTER_MANIP value, FmtScope scope) { switch (value) { case Dec: case Hex: @@ -325,7 +325,7 @@ bool EmitterState::SetIntFormat(EMITTER_MANIP value, FmtScope::value scope) { } } -bool EmitterState::SetIndent(std::size_t value, FmtScope::value scope) { +bool EmitterState::SetIndent(std::size_t value, FmtScope scope) { if (value <= 1) return false; @@ -334,7 +334,7 @@ bool EmitterState::SetIndent(std::size_t value, FmtScope::value scope) { } bool EmitterState::SetPreCommentIndent(std::size_t value, - FmtScope::value scope) { + FmtScope scope) { if (value == 0) return false; @@ -343,7 +343,7 @@ bool EmitterState::SetPreCommentIndent(std::size_t value, } bool EmitterState::SetPostCommentIndent(std::size_t value, - FmtScope::value scope) { + FmtScope scope) { if (value == 0) return false; @@ -351,8 +351,8 @@ bool EmitterState::SetPostCommentIndent(std::size_t value, return true; } -bool EmitterState::SetFlowType(GroupType::value groupType, EMITTER_MANIP value, - FmtScope::value scope) { +bool EmitterState::SetFlowType(GroupType groupType, EMITTER_MANIP value, + FmtScope scope) { switch (value) { case Block: case Flow: @@ -363,7 +363,7 @@ bool EmitterState::SetFlowType(GroupType::value groupType, EMITTER_MANIP value, } } -EMITTER_MANIP EmitterState::GetFlowType(GroupType::value groupType) const { +EMITTER_MANIP EmitterState::GetFlowType(GroupType groupType) const { // force flow style if we're currently in a flow if (CurGroupFlowType() == FlowType::Flow) return Flow; @@ -372,7 +372,7 @@ EMITTER_MANIP EmitterState::GetFlowType(GroupType::value groupType) const { return (groupType == GroupType::Seq ? m_seqFmt.get() : m_mapFmt.get()); } -bool EmitterState::SetMapKeyFormat(EMITTER_MANIP value, FmtScope::value scope) { +bool EmitterState::SetMapKeyFormat(EMITTER_MANIP value, FmtScope scope) { switch (value) { case Auto: case LongKey: @@ -383,7 +383,7 @@ bool EmitterState::SetMapKeyFormat(EMITTER_MANIP value, FmtScope::value scope) { } } -bool EmitterState::SetFloatPrecision(std::size_t value, FmtScope::value scope) { +bool EmitterState::SetFloatPrecision(std::size_t value, FmtScope scope) { if (value > std::numeric_limits::max_digits10) return false; _Set(m_floatPrecision, value, scope); @@ -391,7 +391,7 @@ bool EmitterState::SetFloatPrecision(std::size_t value, FmtScope::value scope) { } bool EmitterState::SetDoublePrecision(std::size_t value, - FmtScope::value scope) { + FmtScope scope) { if (value > std::numeric_limits::max_digits10) return false; _Set(m_doublePrecision, value, scope); diff --git a/src/emitterstate.h b/src/emitterstate.h index 8f379ca..243fab7 100644 --- a/src/emitterstate.h +++ b/src/emitterstate.h @@ -18,14 +18,16 @@ #include namespace YAML { -struct FmtScope { - enum value { Local, Global }; +enum class FmtScope { + Local, Global }; -struct GroupType { - enum value { NoType, Seq, Map }; + +enum class GroupType { + NoType, Seq, Map }; -struct FlowType { - enum value { NoType, Flow, Block }; + +enum class FlowType { + NoType, Flow, Block }; class EmitterState { @@ -51,14 +53,14 @@ class EmitterState { void StartedDoc(); void EndedDoc(); void StartedScalar(); - void StartedGroup(GroupType::value type); - void EndedGroup(GroupType::value type); + void StartedGroup(GroupType type); + void EndedGroup(GroupType type); - EmitterNodeType::value NextGroupType(GroupType::value type) const; + EmitterNodeType::value NextGroupType(GroupType type) const; EmitterNodeType::value CurGroupNodeType() const; - GroupType::value CurGroupType() const; - FlowType::value CurGroupFlowType() const; + GroupType CurGroupType() const; + FlowType CurGroupFlowType() const; std::size_t CurGroupIndent() const; std::size_t CurGroupChildCount() const; bool CurGroupLongKey() const; @@ -79,50 +81,50 @@ class EmitterState { // formatters void SetLocalValue(EMITTER_MANIP value); - bool SetOutputCharset(EMITTER_MANIP value, FmtScope::value scope); + bool SetOutputCharset(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetOutputCharset() const { return m_charset.get(); } - bool SetStringFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetStringFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetStringFormat() const { return m_strFmt.get(); } - bool SetBoolFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetBoolFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetBoolFormat() const { return m_boolFmt.get(); } - bool SetBoolLengthFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetBoolLengthFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetBoolLengthFormat() const { return m_boolLengthFmt.get(); } - bool SetBoolCaseFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetBoolCaseFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetBoolCaseFormat() const { return m_boolCaseFmt.get(); } - bool SetNullFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetNullFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetNullFormat() const { return m_nullFmt.get(); } - bool SetIntFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetIntFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetIntFormat() const { return m_intFmt.get(); } - bool SetIndent(std::size_t value, FmtScope::value scope); + bool SetIndent(std::size_t value, FmtScope scope); std::size_t GetIndent() const { return m_indent.get(); } - bool SetPreCommentIndent(std::size_t value, FmtScope::value scope); + bool SetPreCommentIndent(std::size_t value, FmtScope scope); std::size_t GetPreCommentIndent() const { return m_preCommentIndent.get(); } - bool SetPostCommentIndent(std::size_t value, FmtScope::value scope); + bool SetPostCommentIndent(std::size_t value, FmtScope scope); std::size_t GetPostCommentIndent() const { return m_postCommentIndent.get(); } - bool SetFlowType(GroupType::value groupType, EMITTER_MANIP value, - FmtScope::value scope); - EMITTER_MANIP GetFlowType(GroupType::value groupType) const; + bool SetFlowType(GroupType groupType, EMITTER_MANIP value, + FmtScope scope); + EMITTER_MANIP GetFlowType(GroupType groupType) const; - bool SetMapKeyFormat(EMITTER_MANIP value, FmtScope::value scope); + bool SetMapKeyFormat(EMITTER_MANIP value, FmtScope scope); EMITTER_MANIP GetMapKeyFormat() const { return m_mapKeyFmt.get(); } - bool SetFloatPrecision(std::size_t value, FmtScope::value scope); + bool SetFloatPrecision(std::size_t value, FmtScope scope); std::size_t GetFloatPrecision() const { return m_floatPrecision.get(); } - bool SetDoublePrecision(std::size_t value, FmtScope::value scope); + bool SetDoublePrecision(std::size_t value, FmtScope scope); std::size_t GetDoublePrecision() const { return m_doublePrecision.get(); } private: template - void _Set(Setting& fmt, T value, FmtScope::value scope); + void _Set(Setting& fmt, T value, FmtScope scope); void StartedNode(); @@ -151,7 +153,7 @@ class EmitterState { SettingChanges m_globalModifiedSettings; struct Group { - explicit Group(GroupType::value type_) + explicit Group(GroupType type_) : type(type_), flowType{}, indent(0), @@ -159,8 +161,8 @@ class EmitterState { longKey(false), modifiedSettings{} {} - GroupType::value type; - FlowType::value flowType; + GroupType type; + FlowType flowType; std::size_t indent; std::size_t childCount; bool longKey; @@ -196,7 +198,7 @@ class EmitterState { }; template -void EmitterState::_Set(Setting& fmt, T value, FmtScope::value scope) { +void EmitterState::_Set(Setting& fmt, T value, FmtScope scope) { switch (scope) { case FmtScope::Local: m_modifiedSettings.push(fmt.set(value)); diff --git a/src/emitterutils.cpp b/src/emitterutils.cpp index 6cdf6de..adb0560 100644 --- a/src/emitterutils.cpp +++ b/src/emitterutils.cpp @@ -152,7 +152,7 @@ void WriteCodePoint(ostream_wrapper& out, int codePoint) { } } -bool IsValidPlainScalar(const std::string& str, FlowType::value flowType, +bool IsValidPlainScalar(const std::string& str, FlowType flowType, bool allowOnlyAscii) { // check against null if (IsNullString(str)) { @@ -206,7 +206,7 @@ bool IsValidSingleQuotedScalar(const std::string& str, bool escapeNonAscii) { }); } -bool IsValidLiteralScalar(const std::string& str, FlowType::value flowType, +bool IsValidLiteralScalar(const std::string& str, FlowType flowType, bool escapeNonAscii) { if (flowType == FlowType::Flow) { return false; @@ -269,7 +269,7 @@ bool WriteAliasName(ostream_wrapper& out, const std::string& str) { StringFormat::value ComputeStringFormat(const std::string& str, EMITTER_MANIP strFormat, - FlowType::value flowType, + FlowType flowType, bool escapeNonAscii) { switch (strFormat) { case Auto: diff --git a/src/emitterutils.h b/src/emitterutils.h index 3a7d598..54fc12b 100644 --- a/src/emitterutils.h +++ b/src/emitterutils.h @@ -31,7 +31,7 @@ struct StringEscaping { namespace Utils { StringFormat::value ComputeStringFormat(const std::string& str, EMITTER_MANIP strFormat, - FlowType::value flowType, + FlowType flowType, bool escapeNonAscii); bool WriteSingleQuotedString(ostream_wrapper& out, const std::string& str);