From b86b6474043038101524d8612c49e74baebfd507 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Mon, 2 Jul 2018 11:03:48 +0800 Subject: [PATCH] fix(config_compiler): ambiguous operator overload with cmake option ENABLE_LOGGING=OFF Fixes #211 --- src/rime/config/config_compiler.cc | 8 ++++++++ src/rime/config/config_compiler.h | 6 ++---- src/rime/config/config_compiler_impl.h | 6 ++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/rime/config/config_compiler.cc b/src/rime/config/config_compiler.cc index 4741078401..053ab948fc 100644 --- a/src/rime/config/config_compiler.cc +++ b/src/rime/config/config_compiler.cc @@ -9,6 +9,14 @@ namespace rime { +std::ostream& operator<< (std::ostream& stream, const Reference& reference) { + return stream << reference.repr(); +} + +std::ostream& operator<< (std::ostream& stream, const Dependency& dependency) { + return stream << dependency.repr(); +} + struct ConfigDependencyGraph { map> resources; vector> node_stack; diff --git a/src/rime/config/config_compiler.h b/src/rime/config/config_compiler.h index a08fd01697..a6cdd45c05 100644 --- a/src/rime/config/config_compiler.h +++ b/src/rime/config/config_compiler.h @@ -5,6 +5,7 @@ #ifndef RIME_CONFIG_COMPILER_H_ #define RIME_CONFIG_COMPILER_H_ +#include #include #include #include @@ -35,10 +36,7 @@ struct Reference { string repr() const; }; -template -StreamT& operator<< (StreamT& stream, const Reference& reference) { - return stream << reference.repr(); -} +std::ostream& operator<< (std::ostream& stream, const Reference& reference); class ConfigCompilerPlugin; class ResourceResolver; diff --git a/src/rime/config/config_compiler_impl.h b/src/rime/config/config_compiler_impl.h index 00c1df7eef..bd4cf701c1 100644 --- a/src/rime/config/config_compiler_impl.h +++ b/src/rime/config/config_compiler_impl.h @@ -5,6 +5,7 @@ #ifndef RIME_CONFIG_COMPILER_IMPL_H_ #define RIME_CONFIG_COMPILER_IMPL_H_ +#include #include #include #include @@ -32,10 +33,7 @@ struct Dependency { virtual bool Resolve(ConfigCompiler* compiler) = 0; }; -template -StreamT& operator<< (StreamT& stream, const Dependency& dependency) { - return stream << dependency.repr(); -} +std::ostream& operator<< (std::ostream& stream, const Dependency& dependency); struct PendingChild : Dependency { string child_path;