diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-08 13:59:35 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-05-08 13:59:35 +0200 |
commit | 2240c904c16aa0c5cdb261c17070d971f06a8c01 (patch) | |
tree | 34de7bf627c861ad92ec9e408b7202f5175fd73f | |
parent | 7fb62d77f7178c4f63cc7af48e603d96697500d7 (diff) |
Omit TR1 support from C++11 and up
-rw-r--r-- | odb/header.cxx | 33 | ||||
-rw-r--r-- | odb/odb.cxx | 22 |
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. // |