aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-05-08 13:59:35 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-05-08 13:59:35 +0200
commit2240c904c16aa0c5cdb261c17070d971f06a8c01 (patch)
tree34de7bf627c861ad92ec9e408b7202f5175fd73f
parent7fb62d77f7178c4f63cc7af48e603d96697500d7 (diff)
Omit TR1 support from C++11 and up
-rw-r--r--odb/header.cxx33
-rw-r--r--odb/odb.cxx22
2 files changed, 32 insertions, 23 deletions
diff --git a/odb/header.cxx b/odb/header.cxx
index 6654a42..48c55de 100644
--- a/odb/header.cxx
+++ b/odb/header.cxx
@@ -778,22 +778,25 @@ namespace header
<< "#include <odb/wrapper-traits.hxx>" << endl
<< "#include <odb/pointer-traits.hxx>" << endl;
- // In case of a boost TR1 implementation, we cannot distinguish
- // between the boost::shared_ptr and std::tr1::shared_ptr usage since
- // the latter is just a using-declaration for the former. To resolve
- // this we will include TR1 traits if the Boost TR1 header is included.
- //
- if (ctx.features.tr1_pointer)
- {
- os << "#include <odb/tr1/wrapper-traits.hxx>" << endl
- << "#include <odb/tr1/pointer-traits.hxx>" << endl;
- }
- else if (ctx.features.boost_pointer)
+ if (ctx.options.std () == cxx_version::cxx98)
{
- os << "#ifdef BOOST_TR1_MEMORY_HPP_INCLUDED" << endl
- << "# include <odb/tr1/wrapper-traits.hxx>" << endl
- << "# include <odb/tr1/pointer-traits.hxx>" << endl
- << "#endif" << endl;
+ // In case of a boost TR1 implementation, we cannot distinguish
+ // between the boost::shared_ptr and std::tr1::shared_ptr usage since
+ // the latter is just a using-declaration for the former. To resolve
+ // this we will include TR1 traits if the Boost TR1 header is included.
+ //
+ if (ctx.features.tr1_pointer)
+ {
+ os << "#include <odb/tr1/wrapper-traits.hxx>" << endl
+ << "#include <odb/tr1/pointer-traits.hxx>" << endl;
+ }
+ else if (ctx.features.boost_pointer)
+ {
+ os << "#ifdef BOOST_TR1_MEMORY_HPP_INCLUDED" << endl
+ << "# include <odb/tr1/wrapper-traits.hxx>" << endl
+ << "# include <odb/tr1/pointer-traits.hxx>" << endl
+ << "#endif" << endl;
+ }
}
os << "#include <odb/container-traits.hxx>" << endl;
diff --git a/odb/odb.cxx b/odb/odb.cxx
index d48e4d6..f7f6de2 100644
--- a/odb/odb.cxx
+++ b/odb/odb.cxx
@@ -1019,6 +1019,8 @@ main (int argc, char* argv[])
if (!ops.trace ())
{
+ bool tr1 (ops.std () == cxx_version::cxx98);
+
// Add the standard epilogue at the end so that we see all
// the declarations.
//
@@ -1029,20 +1031,24 @@ main (int argc, char* argv[])
// case, the necessary declarations will be provided so we don't
// need to do anything.
//
- os << "#include <memory>" << endl
- << "#ifndef BOOST_TR1_MEMORY_HPP_INCLUDED" << endl
- << "# include <tr1/memory>" << endl
- << "#endif" << endl;
+ os << "#include <memory>" << endl;
+
+ if (tr1)
+ os << "#ifndef BOOST_TR1_MEMORY_HPP_INCLUDED" << endl
+ << "# include <tr1/memory>" << endl
+ << "#endif" << endl;
// Standard wrapper traits.
//
- os << "#include <odb/wrapper-traits.hxx>" << endl
- << "#include <odb/tr1/wrapper-traits.hxx>" << endl;
+ os << "#include <odb/wrapper-traits.hxx>" << endl;
+ if (tr1)
+ os << "#include <odb/tr1/wrapper-traits.hxx>" << endl;
// Standard pointer traits.
//
- os << "#include <odb/pointer-traits.hxx>" << endl
- << "#include <odb/tr1/pointer-traits.hxx>" << endl;
+ os << "#include <odb/pointer-traits.hxx>" << endl;
+ if (tr1)
+ os << "#include <odb/tr1/pointer-traits.hxx>" << endl;
// Standard container traits.
//