Boost-users
Threads by month
- ----- 2025 -----
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
September 2016
- 61 participants
- 48 discussions
Hi all,
one single (windows) user in my project community (http://www.soundjack.eu) has the following problem:
#ifndef BOOST_THREAD_DEFINES_THREAD_ATTRIBUTES_NATIVE_HANDLE
cout << "THREAD IS NOT DEFINED" << endl;
#endif
This statement is true but only for him – on any other machine (Win, Linux and OSX) is works fine.
Does anybody know what he can do in order to fix this issue ?
Thanks in advance,
best
Alex
4
8
all,
I have the following:
boost::make_recursive_variant<int, bool, std::string,
std::map<std::string, boost::recursive_variant_>>::type node;
I'm populating this tree. I'm using libucl because it has a relaxed JSON
syntax but I wanted to have a tree-like configuration here. The std::map
is a key:value pair obviously. So my questions:
How do I get std::maps from this variant? I know boost::get exists, will
it just return a pointer to std::map? does setting elements in the map
set elements on the variant?
I also didn't see any return info for what boost::get returns if the
element does not exist. Will it just return null since it does return a T*?
Finally, is there a way to see the type of the variant? I don't really
care if it's a bool or string, although I would like to place some
implicit checks on certain values when they're retrieved.
PS: If there's a way to pull this off with boost::property_tree, I would
love to know how. I'm looking at using libucl as mentioned before
because it provides a nginx-like not really JSON-style configuration syntax.
Any tips would be appreciated. HOpefully these questions are clear and
make sense.
--
Take care,
Ty
Twitter: @sorressean
Web: https://tysdomain.com
Pubkey: https://tysdomain.com/files/pubkey.asc
2
1
Please bear with me as I am not really familiar with Solaris.
I have an 11.3 box, where I installed the developer studio 12.5. Following directions at https://blogs.oracle.com/studiocpp/entry/test, I tried to build boost 1.61. It fails horribly!
I get as far as:
>>
create compiler configuration for Studio 12.4 C++03 (using Boost.Config configure) so all the fancy C++11 stuff in Boost is not yet enabled even if we compile with -std=c++11.
] cd libs/config; CXX=CC CXXFLAGS="-std=c++03 -m64" LDFLAGS="-std=c++03 -m64" sh ./configure
<<
which fails. Config.log contains:
configure:1959: CC -std=c++03 -m64 -std=c++03 -m64 conftest.cpp >&5
CC: Warning: Option -std=c++03 passed to ld, if ld is invoked, ignored otherwise
CC: Warning: Option -std=c++03 passed to ld, if ld is invoked, ignored otherwise
ld: fatal: option '-d' has illegal argument '=c++03'
ld: fatal: option '-d' has illegal argument '=c++03'
Removing "-std=c++03" does allow the configure process to run but not as it was intended.
Building with: "./b2 --user-config=user-config.jam address-model=64 -j12 --disable-icu"
gives me a lot of errors, such as those below. Below my problem description, I've pasted the build errors I noticed until I broke the build. What is the proper sequence to build boost 1.61 on Solaris?
Many thanks for any help!
Build output (excerpts):
root@solaris:~/jearle/crypto/3rdpartySW/boost-build/boost_1_61_0# ./b2 --user-config=user-config.jam address-model=64 -j12 --disable-icu
Performing configuration checks
- 32-bit : yes (cached)
- arm : no (cached)
- mips1 : no (cached)
- power : no (cached)
- sparc : no (cached)
- x86 : yes (cached)
Building the Boost C++ Libraries.
- symlinks supported : yes (cached)
error: No best alternative for libs/context/build/asm/make_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
error: No best alternative for libs/context/build/asm/jump_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
error: No best alternative for libs/context/build/asm/ontop_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
- C++11 mutex : no (cached)
- lockfree boost::atomic_flag : no (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
- zlib : no (cached)
- icu : no (cached)
- icu (lib64) : no (cached)
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- compiler-supports-visibility : no (cached)
- compiler-supports-ssse3 : yes (cached)
- has_icu builds : no (cached)
- compiler-supports-avx2 : no (cached)
- gcc visibility : no (cached)
- long double support : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
error: No best alternative for libs/context/build/asm/make_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
error: No best alternative for libs/context/build/asm/jump_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
error: No best alternative for libs/context/build/asm/ontop_x86_64_sysv_elf_gas.o
next alternative: required properties: <threading>multi
matched
next alternative: required properties: <threading>multi
matched
- zlib : no (cached)
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
- Boost.Locale needs either iconv or ICU library to be built.
...
...patience...
...found 9011 targets...
...updating 845 targets...
sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std.
"./boost/wave/util/flex_string.hpp", line 128: Error: Templates can only declare classes or functions.
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of "!=".
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "--".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: Multiple declaration for n.
"./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations.
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations.
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of ")".
"./boost/wave/util/flex_string.hpp", line 135: Error: A declaration was expected instead of "return".
"./boost/wave/util/flex_string.hpp", line 135: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 2538: Error: A declaration was expected instead of "}".
"./boost/wave/util/flex_string.hpp", line 2539: Error: A declaration was expected instead of "}".
"./boost/wave/token_ids.hpp", line 359: Error: flex_string is not a member of boost::wave::util.
"./boost/wave/token_ids.hpp", line 359: Error: A declaration does not specify a tag or an identifier.
"./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations.
"./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of "<".
"./boost/wave/token_ids.hpp", line 359: Error: A declaration does not specify a tag or an identifier.
"./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations.
"./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",".
"./boost/wave/token_ids.hpp", line 359: Warning: declarator required in declaration.
"./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations.
"./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",".
"./boost/wave/token_ids.hpp", line 359: Warning: declarator required in declaration.
"./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations.
"./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",".
"./boost/wave/token_ids.hpp", line 359: Error: CowString is not a member of boost::wave::util.
Compilation aborted, too many Error messages.
...
"CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer_str.o" "libs/wave/src/instantiate_re2c_lexer_str.cpp"
...failed sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer_str.o...
sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/wave_config_constant.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std.
"./boost/wave/util/flex_string.hpp", line 128: Error: Templates can only declare classes or functions.
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of "!=".
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "--".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: Multiple declaration for n.
"./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations.
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations.
"./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++".
"./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of ")".
"./boost/wave/util/flex_string.hpp", line 135: Error: A declaration was expected instead of "return".
"./boost/wave/util/flex_string.hpp", line 135: Warning: Implicit int is not supported in C++.
"./boost/wave/util/flex_string.hpp", line 2538: Error: A declaration was expected instead of "}".
"./boost/wave/util/flex_string.hpp", line 2539: Error: A declaration was expected instead of "}".
13 Error(s) and 5 Warning(s) detected.
...
"CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/portability.o" "libs/filesystem/src/portability.cpp"
...failed sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/portability.o...
sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/utf8_codecvt_facet.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/path.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std.
1 Error(s) detected.
...
"CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp"
...failed sun.compile.c++ bin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi/bzip2.o...
...skipped <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>mapped_file.o...
...skipped <pstage/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>libboost_iostreams.a...
sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/named_scope.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"./boost/log/utility/string_literal.hpp", line 76: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>.
"./boost/log/attributes/named_scope.hpp", line 82: Where: While specializing "boost::log::v2s_mt_posix::basic_string_literal<char, std::char_traits<char>>".
"./boost/log/attributes/named_scope.hpp", line 82: Where: Specialized in non-template code.
"./boost/log/attributes/named_scope.hpp", line 219: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>.
"./boost/log/attributes/named_scope.hpp", line 220: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>.
"./boost/log/attributes/named_scope.hpp", line 295: Error: Cannot cast from boost::log::v2s_mt_posix::attributes::named_scope_list::iter<1> to int.
"./boost/log/attributes/named_scope.hpp", line 299: Error: Cannot cast from boost::log::v2s_mt_posix::attributes::named_scope_list::iter<1> to int.
"./boost/log/attributes/named_scope.hpp", line 318: Error: The operation "* int" is illegal.
"libs/log/src/named_scope.cpp", line 213: Error: Cannot use void* to initialize boost::log::v2s_mt_posix::attributes::named_scope_entry*.
"libs/log/src/named_scope.cpp", line 217: Error: construct is not a member of std::allocator<boost::log::v2s_mt_posix::attributes::named_scope_entry>.
"libs/log/src/named_scope.cpp", line 235: Error: destroy is not a member of std::allocator<boost::log::v2s_mt_posix::attributes::named_scope_entry>.
9 Error(s) detected.
...
"CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_DATE_TIME_STATIC_LINK -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi/gregorian/greg_month.o" "libs/date_time/src/gregorian/greg_month.cpp"
...failed sun.compile.c++ bin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi/gregorian/greg_month.o...
...skipped <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>libboost_date_time.a for lack of <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>gregorian/greg_month.o...
...skipped <pstage/lib>libboost_date_time.a for lack of <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>libboost_date_time.a...
sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/thread_id.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"libs/log/src/thread_id.cpp", line 213: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(void*) in call to pthread_key_create(unsigned*, extern "C" void(*)(void*)) is being passed void(*)(void*).
1 Warning(s) detected.
sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/severity_level.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"./boost/move/unique_ptr.hpp", line 434: Error: typenamebmupd is not defined.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: get_element_type is not defined.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: "," expected instead of "<".
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: Illegal value for template parameter.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: Template template-parameter boost::move_upmu::U requires a class template argument.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: type is not a member of boost::move_upmu::missing_virtual_destructor<boost::movelib::default_delete<unsigned long>, int>.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
"./boost/move/unique_ptr.hpp", line 434: Error: value is not defined.
"libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)".
"libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code.
7 Error(s) detected.
...
...failed sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/syslog_backend.o...
sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/link-static/log-api-unix/threading-multi/dump_ssse3.o
CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise
"libs/log/src/dump_ssse3.cpp", line 179: ube: error: _mm_lddqu_si128 intrinsic requires at least -xarch=sse3.
CC: ube failed for libs/log/src/dump_ssse3.cpp
"CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -D__STDC_CONSTANT_MACROS -D__typeof__=__typeof__ -I"." -c -o "bin.v2/libs/log/build/sun/release/address-model-64/link-static/log-api-unix/threading-multi/dump_ssse3.o" "libs/log/src/dump_ssse3.cpp"
2
1
Hi,
When I try to create a object of this,
typedef boost::multi_index_container<
ClassX*, //mapped value
boost::multi_index::indexed_by< //list of indices
boost::multi_index::hashed_unique<
boost::multi_index::const_mem_fun<ParentClassOfX, Key1,
&ParentClassOfX::getKey1> //hashed index by unique Key1
>,
boost::multi_index::hashed_unique<
boost::multi_index::const_mem_fun<ParentClassOfX, Vs64,
&ParentClassOfX::getKey2> //hashed index by unique Key1
>
>
>ClassXMultiKeyIndexed;
like,
ClassXMultiKeyIndexed sample;
and insert a pointer like this,
ClassX *a;
ClassXMultiKeyIndexed sample;
//a is not NULL and is filled up before the below insert
sample.insert(a);
This is the compilation error, it compiles fine if "sample.insert(a)" is
commented out.
Compilation error :
Compiling...
stm_container_manager_abc.cpp
c:\code\common\lib\boost\boost\detail\allocator_utilities.hpp(153) : error
C2061: syntax error : identifier 'p'
c:\code\common\lib\boost\boost\multi_index\detail\index_base.hpp(105) : see
reference to function template instantiation 'void
boost::detail::allocator::construct<Container*>(void *,const Type &)' being
compiled
with
[
Type=Container *
]
c:\code\common\lib\boost\boost\multi_index\detail\index_base.hpp(102) :
while compiling class template member function
'boost::multi_index::detail::hashed_index_node<Super,Category>
*boost::multi_index::detail::index_base<Value,IndexSpecifierList,Allocator>::insert_(Container
*const &,boost::multi_index::detail::hashed_index_node<Super,Category>
*&,boost::multi_index::detail::lvalue_tag)'
with
[
Super=boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::index_node_base<Container
*,std::allocator<Container
*>>,boost::multi_index::detail::hashed_unique_tag>,
Category=boost::multi_index::detail::hashed_unique_tag,
Value=Container *,
IndexSpecifierList=boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>>,boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>>>,
Allocator=std::allocator<Container *>
]
c:\code\common\lib\boost\boost\multi_index\hashed_index.hpp(93) :
see reference to class template instantiation
'boost::multi_index::detail::index_base<Value,IndexSpecifierList,Allocator>'
being compiled
with
[
Value=Container *,
IndexSpecifierList=boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>>,boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>>>,
Allocator=std::allocator<Container *>
]
c:\code\common\lib\boost\boost\multi_index\hashed_index.hpp(93) :
see reference to class template instantiation
'boost::multi_index::detail::hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>'
being compiled
with
[
KeyFromValue=boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>,
Hash=boost::hash<boost::long_long_type>,
Pred=std::equal_to<__int64>,
SuperMeta=boost::multi_index::detail::nth_layer<2,Container
*,boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>>,boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>>>,std::allocator<Container
*>>,
TagList=boost::mpl::vector0<boost::mpl::na>,
Category=boost::multi_index::detail::hashed_unique_tag
]
c:\code\common\lib\boost\boost\multi_index_container.hpp(100) : see
reference to class template instantiation
'boost::multi_index::detail::hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category>'
being compiled
with
[
KeyFromValue=boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>,
Hash=boost::hash<boost::long_long_type>,
Pred=std::equal_to<__int64>,
SuperMeta=boost::multi_index::detail::nth_layer<1,Container
*,boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>>,boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>>>,std::allocator<Container
*>>,
TagList=boost::mpl::vector0<boost::mpl::na>,
Category=boost::multi_index::detail::hashed_unique_tag
]
c:\code\common\src\biz\model\stm-stow_model\stm_container_manager_abc.h(323)
: see reference to class template instantiation
'boost::multi_index::multi_index_container<Value,IndexSpecifierList>' being
compiled
with
[
Value=Container *,
IndexSpecifierList=boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Key1,DBObject::getKey1>>,boost::multi_index::hashed_unique<boost::multi_index::const_mem_fun<DBObject,Vs64,DBObject::getKey2>>>
]
Build log was saved at "file://c:\code\win\Debug\obj\BuildLog.htm"
ProjABC - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
4
26
Hi,
I could narrow the place where boost errors appears. Using VS2010 (with 'show includes') on a Win7 machine. Boost is installed in C:\utilitaires\boost\boost15\boost_1_50_0\boost and this directory name has been replaced by - underneath (so it's version 1.50 !)
When I write
#pragma message (" avant boost/date_time/local_time/local_time.hpp")
#include "boost/date_time/local_time/local_time.hpp"
I get all these error messages :
avant boost/date_time/local_time/local_time.hpp
--/mpl/list/aux_/preprocessed/plain/list20.hpp(157): error C2143: syntax error : missing ',' before 'string'
--/mpl/list/aux_/preprocessed/plain/list20.hpp(163): error C2974: 'boost::mpl::list19' : invalid template argument for 'T18', type expected
--/mpl/list/aux_/preprocessed/plain/list20.hpp(144) : see declaration of 'boost::mpl::list19'
--/mpl/list/aux_/preprocessed/plain/list20.hpp(167) : see reference to class template instantiation 'boost::mpl::list20<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,__formal>' being compiled
--/mpl/list/aux_/preprocessed/plain/list20.hpp(164): error C3203: 'list19' : unspecialized class template can't be used as a template argument for template parameter 'Next', expected a real type
--/mpl/list/aux_/preprocessed/plain/list20.hpp(164): error C2955: 'boost::mpl::list19' : use of class template requires template argument list
--/mpl/list/aux_/preprocessed/plain/list20.hpp(144) : see declaration of 'boost::mpl::list19'
--/mpl/list/aux_/preprocessed/plain/list20.hpp(165): error C2955: 'boost::mpl::l_item' : use of class template requires template argument list
--/mpl/list/aux_/item.hpp(30) : see declaration of 'boost::mpl::l_item'
--/mpl/aux_/preprocessed/plain/list.hpp(20): error C2143: syntax error : missing ',' before 'string'
--/mpl/aux_/preprocessed/plain/list.hpp(14): error C3747: missing default template parameter : parameter 20
--/mpl/aux_/preprocessed/plain/list.hpp(31): error C2975: 'boost::mpl::list' : invalid template argument for 'unnamed-parameter', expected compile-time constant expression
--/mpl/aux_/preprocessed/plain/list.hpp(22) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(34): error C2913: explicit specialization; 'boost::mpl::list' is not a specialization of a class template
--/mpl/aux_/preprocessed/plain/list.hpp(46): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(43) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(58): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(55) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(70): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(67) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(82): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(79) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(94): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(91) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(107): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(104) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(120): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(117) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(133): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(130) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(146): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(143) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(159): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(156) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(173): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(170) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(187): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(184) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(201): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(198) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(215): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(212) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(231): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(226) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(249): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(243) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(267): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(261) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(285): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(279) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(303): error C2976: 'boost::mpl::list' : too few template arguments
--/mpl/aux_/preprocessed/plain/list.hpp(297) : see declaration of 'boost::mpl::list'
--/mpl/aux_/preprocessed/plain/list.hpp(311): error C2143: syntax error : missing ',' before 'string'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1020): error C2143: syntax error : missing ',' before 'string'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1045): error C2059: syntax error : 'string'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1052) : see reference to class template instantiation 'boost::mpl::vector20<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,__formal>' being compiled
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1045): error C2238: unexpected token(s) preceding ';'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1049): error C2059: syntax error : 'string'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1049): error C2238: unexpected token(s) preceding ';'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1072): error C2975: 'boost::mpl::vector20' : invalid template argument for 'unnamed-parameter', expected compile-time constant expression
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1023) : see declaration of 'boost::mpl::vector20'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1073) : see reference to class template instantiation 'boost::mpl::push_front_impl<boost::mpl::aux::vector_tag<N>>::apply<Vector,T>' being compiled
with
[
N=19
]
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1114): error C2975: 'boost::mpl::vector20' : invalid template argument for 'unnamed-parameter', expected compile-time constant expression
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1023) : see declaration of 'boost::mpl::vector20'
--/mpl/vector/aux_/preprocessed/plain/vector20.hpp(1115) : see reference to class template instantiation 'boost::mpl::push_back_impl<boost::mpl::aux::vector_tag<N>>::apply<Vector,T>' being compiled
with
[
N=19
]
--/mpl/aux_/preprocessed/plain/vector.hpp(20): error C2143: syntax error : missing ',' before 'string'
--/mpl/aux_/preprocessed/plain/vector.hpp(14): error C3747: missing default template parameter : parameter 20
--/mpl/aux_/preprocessed/plain/vector.hpp(31): error C2975: 'boost::mpl::vector' : invalid template argument for 'unnamed-parameter', expected compile-time constant expression
--/mpl/aux_/preprocessed/plain/vector.hpp(22) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(34): error C2913: explicit specialization; 'boost::mpl::vector' is not a specialization of a class template
--/mpl/aux_/preprocessed/plain/vector.hpp(46): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(43) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(58): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(55) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(70): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(67) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(82): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(79) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(94): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(91) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(107): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(104) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(120): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(117) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(133): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(130) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(146): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(143) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(159): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(156) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(173): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(170) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(187): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(184) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(201): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(198) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(215): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(212) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(231): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(226) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(249): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(243) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(267): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(261) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(285): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(279) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(303): error C2976: 'boost::mpl::vector' : too few template arguments
--/mpl/aux_/preprocessed/plain/vector.hpp(297) : see declaration of 'boost::mpl::vector'
--/mpl/aux_/preprocessed/plain/vector.hpp(311): error C2143: syntax error : missing ',' before 'string'
--/math/policies/policy.hpp(406): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(440) : see reference to class template instantiation 'boost::math::policies::policy<A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13>' being compiled
--/math/policies/policy.hpp(406): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(407): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(407): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(408): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(408): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(409): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(409): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(410): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(410): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(411): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(411): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(412): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(412): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(413): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(413): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(418): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(418): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(419): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(419): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(425): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(425): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(426): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(426): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(430): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(430): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(434): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(434): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(438): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(438): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(439): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(439): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(514): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(588) : see reference to class template instantiation 'boost::math::policies::normalise<Policy,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13>' being compiled
--/math/policies/policy.hpp(514): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(515): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(515): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(516): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(516): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(517): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(517): error C2955: 'boost::mpl::list' : use of class template requires template argument list
--/mpl/aux_/preprocessed/plain/list.hpp(314) : see declaration of 'boost::mpl::list'
--/math/policies/policy.hpp(518): error C3203: 'list' : unspecialized class template can't be used as a template argument for template parameter 'Seq', expected a real type
--/math/policies/policy.hpp(518): fatal error C1003: error count exceeds 100; stopping compilation
What have I done wrong ?
TIA
Jean
2
1

28 Sep '16
Hi,
I am trying to use lexical_cast to convert from strings to qvm vectors, but
I keep getting an ambiguous operator>> error. I have overloaded the >>
operator for istreams and that seems to be working fine when I use it to
read from a istringstream. In a lexical_cast, though, I get the "ambiguous
overload for operator>>" error. I have tried declaring my operator>>
overload inside the std and boost::qvm namespaces to check if it was
something related to ADL, but I keep getting the same error. The thing is
the other candidates do not seem to make a lot of sense to me. Could
somebody please tell me what I am doing wrong?
Thanks in advance,
Enrique Garcia
This is a minimal example (I am building gcc/boost from the last versions
on their repositories):
#include <iostream>
#include <boost/qvm/vec.hpp>
#include <boost/lexical_cast.hpp>
std::ostream& operator<<(std::ostream& out, boost::qvm::vec<float, 3>
const& v)
{
out << "(" << v.a[0] << "," << v.a[1] << "," << v.a[2] << ")";
}
std::istream& operator>>(std::istream& in, boost::qvm::vec<float, 3>& v)
{
char c;
return in >> c >> v.a[0] >> c >> v.a[1] >> c >> v.a[2] >> c;
}
int main()
{
boost::qvm::vec<float, 3> vect { 1.0f, 2.0f, 3.0f };
std::cout << vect << std::endl;
// This code works just fine. (4.0,5.0,6.0) is printed
std::istringstream istream("(4.0,5.0,6.0");
istream >> vect;
std::cout << vect << std::endl;
// This code generates an ambiguous overload for operator>> error (see
below)
vect = boost::lexical_cast<boost::qvm::vec<float, 3>>("(1.0,2.0,3.0)");
std::cout << vect << std::endl;
return 0;
}
This is the error I am getting from gcc:
In file included from /usr/local/include/boost/config.hpp:61:0,
from /usr/local/include/boost/static_assert.hpp:17,
from /usr/local/include/boost/qvm/static_assert.hpp:7,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp: In
instantiation of 'const bool
boost::detail::has_right_shift_impl::operator_exists<std::basic_istream<char>,
boost::qvm::vec<float, 3> >::value':
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<char>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care,
false>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<char>,
boost::qvm::vec<float, 3>,
boost::detail::has_right_shift_impl::dont_care>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:
required from 'struct boost::has_right_shift<std::basic_istream<char>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care>'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:241:21:
required from 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:158:70:
error: ambiguous overload for 'operator>>' (operand types are
'std::basic_istream<char>' and 'boost::qvm::vec<float, 3>')
BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>()
BOOST_TT_TRAIT_OP
make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
^
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:120:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__istream_type& (*)(std::basic_istream<_CharT,
_Traits>::__istream_type&)) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type
= std::basic_istream<char>]
operator>>(__istream_type& (*__pf)(__istream_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:124:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__ios_type& (*)(std::basic_istream<_CharT,
_Traits>::__ios_type&)) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type
= std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type
= std::basic_ios<char>]
operator>>(__ios_type& (*__pf)(__ios_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:131:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base&
(*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>;
std::basic_istream<_CharT, _Traits>::__istream_type =
std::basic_istream<char>]
operator>>(ios_base& (*__pf)(ios_base&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:259:7: note: candidate:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__streambuf_type*) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT,
_Traits>::__streambuf_type = std::basic_streambuf<char>]
operator>>(__streambuf_type* __sb);
^~~~~~~~
In file included from
/usr/local/include/boost/type_traits/has_right_shift.hpp:43:0,
from /usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/local/include/boost/lexical_cast.hpp:32,
from /home/kique/Documents/Bitflow2x/source/main.cpp:58:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:70:13:
note: candidate: boost::detail::has_right_shift_impl::no_operator
boost::detail::has_right_shift_impl::operator>>(const
boost::detail::has_right_shift_impl::any&, const
boost::detail::has_right_shift_impl::any&)
no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
^~~~~~~~
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:808:5: note: candidate:
std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char,
_Traits>&, signed char*) [with _Traits = std::char_traits<char>]
operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:803:5: note: candidate:
std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char,
_Traits>&, unsigned char*) [with _Traits = std::char_traits<char>]
operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
^~~~~~~~
In file included from /usr/local/include/boost/config.hpp:61:0,
from /usr/local/include/boost/static_assert.hpp:17,
from /usr/local/include/boost/qvm/static_assert.hpp:7,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp: In
instantiation of 'const bool
boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<char>,
boost::qvm::vec<float, 3> >::value':
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<char>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care,
false>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<char>,
boost::qvm::vec<float, 3>,
boost::detail::has_right_shift_impl::dont_care>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:
required from 'struct boost::has_right_shift<std::basic_istream<char>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care>'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:241:21:
required from 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:95:114:
error: ambiguous overload for 'operator>>' (operand types are
'std::basic_istream<char>' and 'boost::qvm::vec<float, 3>')
BOOST_STATIC_CONSTANT(bool, value =
(sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>()
BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
^
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:120:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__istream_type& (*)(std::basic_istream<_CharT,
_Traits>::__istream_type&)) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type
= std::basic_istream<char>]
operator>>(__istream_type& (*__pf)(__istream_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:124:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__ios_type& (*)(std::basic_istream<_CharT,
_Traits>::__ios_type&)) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type
= std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type
= std::basic_ios<char>]
operator>>(__ios_type& (*__pf)(__ios_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:131:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base&
(*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>;
std::basic_istream<_CharT, _Traits>::__istream_type =
std::basic_istream<char>]
operator>>(ios_base& (*__pf)(ios_base&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:259:7: note: candidate:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__streambuf_type*) [with _CharT = char; _Traits =
std::char_traits<char>; std::basic_istream<_CharT,
_Traits>::__streambuf_type = std::basic_streambuf<char>]
operator>>(__streambuf_type* __sb);
^~~~~~~~
In file included from
/usr/local/include/boost/type_traits/has_right_shift.hpp:43:0,
from /usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/local/include/boost/lexical_cast.hpp:32,
from /home/kique/Documents/Bitflow2x/source/main.cpp:58:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:70:13:
note: candidate: boost::detail::has_right_shift_impl::no_operator
boost::detail::has_right_shift_impl::operator>>(const
boost::detail::has_right_shift_impl::any&, const
boost::detail::has_right_shift_impl::any&)
no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
^~~~~~~~
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:808:5: note: candidate:
std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char,
_Traits>&, signed char*) [with _Traits = std::char_traits<char>]
operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:803:5: note: candidate:
std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char,
_Traits>&, unsigned char*) [with _Traits = std::char_traits<char>]
operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
^~~~~~~~
In file included from
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:42:0,
from /usr/local/include/boost/lexical_cast.hpp:32,
from /home/kique/Documents/Bitflow2x/source/main.cpp:58:
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp: In
instantiation of 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >':
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:241:21:
error: 'value' is not a member of
'boost::has_right_shift<std::basic_istream<char>, boost::qvm::vec<float,
3>, boost::detail::has_right_shift_impl::dont_care>'
>::type type;
^~~~
In file included from /usr/local/include/boost/qvm/static_assert.hpp:7:0,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:
error: 'value' is not a member of
'boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >::result_t {aka boost::has_right_shift<std::basic_istream<char>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care>}'
BOOST_STATIC_ASSERT_MSG((result_t::value ||
boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
^
In file included from /usr/local/include/boost/config.hpp:61:0,
from /usr/local/include/boost/static_assert.hpp:17,
from /usr/local/include/boost/qvm/static_assert.hpp:7,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp: In
instantiation of 'const bool
boost::detail::has_right_shift_impl::operator_exists<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3> >::value':
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care,
false>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>,
boost::detail::has_right_shift_impl::dont_care>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:
required from 'struct boost::has_right_shift<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care>'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:
required from 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:158:70:
error: ambiguous overload for 'operator>>' (operand types are
'std::basic_istream<wchar_t>' and 'boost::qvm::vec<float, 3>')
BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>()
BOOST_TT_TRAIT_OP
make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
^
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:120:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__istream_type& (*)(std::basic_istream<_CharT,
_Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>]
operator>>(__istream_type& (*__pf)(__istream_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:124:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__ios_type& (*)(std::basic_istream<_CharT,
_Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>;
std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]
operator>>(__ios_type& (*__pf)(__ios_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:131:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base&
(*)(std::ios_base&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>]
operator>>(ios_base& (*__pf)(ios_base&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:259:7: note: candidate:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]
operator>>(__streambuf_type* __sb);
^~~~~~~~
In file included from
/usr/local/include/boost/type_traits/has_right_shift.hpp:43:0,
from /usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/local/include/boost/lexical_cast.hpp:32,
from /home/kique/Documents/Bitflow2x/source/main.cpp:58:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:70:13:
note: candidate: boost::detail::has_right_shift_impl::no_operator
boost::detail::has_right_shift_impl::operator>>(const
boost::detail::has_right_shift_impl::any&, const
boost::detail::has_right_shift_impl::any&)
no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
^~~~~~~~
In file included from /usr/local/include/boost/config.hpp:61:0,
from /usr/local/include/boost/static_assert.hpp:17,
from /usr/local/include/boost/qvm/static_assert.hpp:7,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp: In
instantiation of 'const bool
boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3> >::value':
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care,
false>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:
required from 'const bool
boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>,
boost::detail::has_right_shift_impl::dont_care>::value'
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:
required from 'struct boost::has_right_shift<std::basic_istream<wchar_t>,
boost::qvm::vec<float, 3>, boost::detail::has_right_shift_impl::dont_care>'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:
required from 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:95:114:
error: ambiguous overload for 'operator>>' (operand types are
'std::basic_istream<wchar_t>' and 'boost::qvm::vec<float, 3>')
BOOST_STATIC_CONSTANT(bool, value =
(sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>()
BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
^
In file included from /usr/local/include/c++/7.0.0/iostream:40:0,
from /home/kique/Documents/Bitflow2x/source/main.cpp:56:
/usr/local/include/c++/7.0.0/istream:120:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__istream_type& (*)(std::basic_istream<_CharT,
_Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>]
operator>>(__istream_type& (*__pf)(__istream_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:124:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__ios_type& (*)(std::basic_istream<_CharT,
_Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>;
std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]
operator>>(__ios_type& (*__pf)(__ios_type&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:131:7: note: candidate:
std::basic_istream<_CharT, _Traits>::__istream_type&
std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base&
(*)(std::ios_base&)) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__istream_type = std::basic_istream<wchar_t>]
operator>>(ios_base& (*__pf)(ios_base&))
^~~~~~~~
/usr/local/include/c++/7.0.0/istream:259:7: note: candidate:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::operator>>(std::basic_istream<_CharT,
_Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits =
std::char_traits<wchar_t>; std::basic_istream<_CharT,
_Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]
operator>>(__streambuf_type* __sb);
^~~~~~~~
In file included from
/usr/local/include/boost/type_traits/has_right_shift.hpp:43:0,
from /usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
from /usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/local/include/boost/lexical_cast.hpp:32,
from /home/kique/Documents/Bitflow2x/source/main.cpp:58:
/usr/local/include/boost/type_traits/detail/has_binary_operator.hpp:70:13:
note: candidate: boost::detail::has_right_shift_impl::no_operator
boost::detail::has_right_shift_impl::operator>>(const
boost::detail::has_right_shift_impl::any&, const
boost::detail::has_right_shift_impl::any&)
no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
^~~~~~~~
In file included from /usr/local/include/boost/qvm/static_assert.hpp:7:0,
from /usr/local/include/boost/qvm/vec.hpp:11,
from /home/kique/Documents/Bitflow2x/source/main.cpp:57:
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp: In
instantiation of 'struct
boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<boost::qvm::vec<float,
3> > >':
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:
required from 'struct
boost::detail::deduce_target_char<boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:
required from 'struct boost::detail::lexical_cast_stream_traits<const
char*, boost::qvm::vec<float, 3> >'
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:
required from 'struct
boost::detail::lexical_converter_impl<boost::qvm::vec<float, 3>, const
char*>'
/usr/local/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:
required from 'bool boost::conversion::detail::try_lexical_convert(const
Source&, Target&) [with Target = boost::qvm::vec<float, 3>; Source = char
[14]]'
/usr/local/include/boost/lexical_cast.hpp:41:60: required from 'Target
boost::lexical_cast(const Source&) [with Target = boost::qvm::vec<float,
3>; Source = char [14]]'
/home/kique/Documents/Bitflow2x/source/main.cpp:83:72: required from here
/usr/local/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:
error: 'value' is not a member of
'boost::has_right_shift<std::basic_istream<wchar_t>, boost::qvm::vec<float,
3>, boost::detail::has_right_shift_impl::dont_care>'
BOOST_STATIC_ASSERT_MSG((result_t::value ||
boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
^
ninja: build stopped: subcommand failed.
2
1
The release candidates for the 1.62.0 release are now available at:
https://sourceforge.net/projects/boost/files/boost/1.62.0.rc.1/boost_1_62_0…
https://sourceforge.net/projects/boost/files/boost/1.62.0.rc.1/boost_1_62_0…
https://sourceforge.net/projects/boost/files/boost/1.62.0.rc.1/boost_1_62_0…
https://sourceforge.net/projects/boost/files/boost/1.62.0.rc.1/boost_1_62_0…
The SHA256 checksums are as follows:
b91c2cda8bee73ea613130e19e72c9589e9ef0357c4c5cc5f7523de82cce11f7
boost_1_62_0_rc1.7z
36c96b0f6155c98404091d8ceb48319a28279ca0333fba1ad8611eb90afb2ca0
boost_1_62_0_rc1.tar.bz2
440a59f8bc4023dbe6285c9998b0f7fa288468b889746b1ef00e8b36c559dce1
boost_1_62_0_rc1.tar.gz
084b2e0638bbe0975a9e43e21bc9ceae33ef11377aecab3268a57cf41e405d4e
boost_1_62_0_rc1.zip
As always, the release managers would appreciate it if you download
the candidate of your choice and give building it a try. Please report
both success and failure, and anything else that is noteworthy.
Thanks, the release managers.
--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
5
6
Hi All,
I seem to remember reading about this [the subject of this post] in the
docs, but I don't seem to be able to find it [that page] now.
What criteria should I use to choose a specific Boost.Heap implementation
(skew, fibonacci etc), from the ones provided by the Boost.Heap library?
Thanks in advance and have a good day,
degski
3
10
Hi,
This is my second 'account' to this mailing list. In fact I am a freelance who works for a company that works for another company and when I am somewhere I can't have access to the 'elsewhere' outlook.
I am an old C++ (and FORTRAN and Visual Foxpro) programmer. But I am new to boost, windows (MFC) and Visual Studio 2010. My challenge is to 'upgrade' a huge app (250 k lines of code) both Windows and Linux from boost 1.3.x (and stingray and .....) to boost 1.50 and win 7 ... Boost 1.50 is the last version our customer can use because of its 'private' version of Debian.
I am first dealing with windows. When I compile the solution, I get a lot of errors and I would like you give me the first steps to do.
Here is an example about file ...\boost\boost15\boost_1_50_0\boost/mpl/list/aux_/preprocessed/plain/list20.hpp
list20.hpp(157): error C2143: syntax error : missing ',' before 'string'
list20.hpp(163): error C2974: 'boost::mpl::list19' : invalid template argument for 'T18', type expected
list20.hpp(144) : see declaration of 'boost::mpl::list19'
list20.hpp(167) : see reference to class template instantiation 'boost::mpl::list20<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,__formal>' being compiled
list20.hpp(164): error C3203: 'list19' : unspecialized class template can't be used as a template argument for template parameter 'Next', expected a real type
list20.hpp(164): error C2955: 'boost::mpl::list19' : use of class template requires template argument list
list20.hpp(144) : see declaration of 'boost::mpl::list19'
list20.hpp(165): error C2955: 'boost::mpl::l_item' : use of class template requires template argument list
So if you can explain me what is wrong (I mean I am astonished (?) to find a syntax error and I think I must not modify the file so the error may come from elsewhere ...)
TIA
Jean
2
3
Hi, guys. I have a problem with Boost fiber in 1.62 beta 2. My machine is a 4 core machine with 64bit ubuntu 14.04 installed. In my program, I created 4 kernel threads each of which uses the round robin fiber scheduler. One thread 1, I created one fiber that read data from a socket in a blocking manner. Once it got some data, it writes the data into a blocking fiber channel. For the rest thread kernel threads, I created 5 fibers for each of them. They all read (in a blocking manner) data from the same channel.
My problem is when no data is sent to the socket, and the system is idling, I can see very high CPU usage on three cores. I profiled the code, it seems to me that the kernel threads keep calling fiber scheduler to sleep then wake up again. I suspect that the time interval for the function suspend_until() may be too short. If that is the case, then how can I increase it?
2
1