Skip to content

Commit b86b647

Browse files
committed
fix(config_compiler): ambiguous operator overload with cmake option ENABLE_LOGGING=OFF
Fixes #211
1 parent 122893d commit b86b647

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

src/rime/config/config_compiler.cc

+8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@
99

1010
namespace rime {
1111

12+
std::ostream& operator<< (std::ostream& stream, const Reference& reference) {
13+
return stream << reference.repr();
14+
}
15+
16+
std::ostream& operator<< (std::ostream& stream, const Dependency& dependency) {
17+
return stream << dependency.repr();
18+
}
19+
1220
struct ConfigDependencyGraph {
1321
map<string, of<ConfigResource>> resources;
1422
vector<of<ConfigItemRef>> node_stack;

src/rime/config/config_compiler.h

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#ifndef RIME_CONFIG_COMPILER_H_
66
#define RIME_CONFIG_COMPILER_H_
77

8+
#include <ostream>
89
#include <rime/common.h>
910
#include <rime/config/config_data.h>
1011
#include <rime/config/config_types.h>
@@ -35,10 +36,7 @@ struct Reference {
3536
string repr() const;
3637
};
3738

38-
template <class StreamT>
39-
StreamT& operator<< (StreamT& stream, const Reference& reference) {
40-
return stream << reference.repr();
41-
}
39+
std::ostream& operator<< (std::ostream& stream, const Reference& reference);
4240

4341
class ConfigCompilerPlugin;
4442
class ResourceResolver;

src/rime/config/config_compiler_impl.h

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#ifndef RIME_CONFIG_COMPILER_IMPL_H_
66
#define RIME_CONFIG_COMPILER_IMPL_H_
77

8+
#include <ostream>
89
#include <rime/common.h>
910
#include <rime/config/config_compiler.h>
1011
#include <rime/config/config_types.h>
@@ -32,10 +33,7 @@ struct Dependency {
3233
virtual bool Resolve(ConfigCompiler* compiler) = 0;
3334
};
3435

35-
template <class StreamT>
36-
StreamT& operator<< (StreamT& stream, const Dependency& dependency) {
37-
return stream << dependency.repr();
38-
}
36+
std::ostream& operator<< (std::ostream& stream, const Dependency& dependency);
3937

4038
struct PendingChild : Dependency {
4139
string child_path;

0 commit comments

Comments
 (0)