Commit 430b6e2f authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

[2371] move the definition of END_OF_STREAM from test to the main impl .cc.

based on review discussions.  it makes sense as we cannot assume its address
is never needed in non test applications.
parent f5c629c8
......@@ -29,6 +29,10 @@ createStreamName(std::istream& input_stream) {
} // end of unnamed namespace
// Explicit definition of class static constant. The value is given in the
// declaration so it's not needed here.
const int InputSource::END_OF_STREAM;
InputSource::InputSource(std::istream& input_stream) :
at_eof_(false),
line_(1),
......
......@@ -38,6 +38,11 @@ namespace master_lexer_internal {
class InputSource {
public:
/// \brief Returned by getChar() when end of stream is reached.
///
/// \note C++ allows a static const class member of an integral type to
/// be used without explicit definition as long as its address isn't
/// required. But, since this is a public member variable and we cannot
/// assume how it's used, we give a definition in the implementation.
static const int END_OF_STREAM = -1;
/// \brief Exception thrown when ungetChar() is made to go before
......
......@@ -27,10 +27,6 @@ using namespace std;
using namespace isc::dns;
using namespace isc::dns::master_lexer_internal;
// Some compilers cannot find symbols of class constants when used in the
// EXPECT_xxx macros, so we need explicit declaration.
const int InputSource::END_OF_STREAM;
namespace {
class InputSourceTest : public ::testing::Test {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment