Open ghost opened 6 years ago
synapse@darkside:~/Desktop/OSVR-Vive/build$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
synapse@darkside:~/Desktop$ sudo apt-get install gcc-7 g++-7
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
gcc-5-base:i386
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
cpp-7 gcc-7-base gcc-7-base:i386 libasan4 libatomic1 libcc1-0 libcilkrts5 libgcc-7-dev libgcc1 libgcc1:i386 libgomp1 libitm1 liblsan0 libmpx2 libquadmath0 libstdc++-7-dev
libstdc++6 libstdc++6:i386 libtsan0 libubsan0
Suggested packages:
gcc-7-locales g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg libstdc++-7-doc
The following NEW packages will be installed:
cpp-7 g++-7 gcc-7 gcc-7-base gcc-7-base:i386 libasan4 libgcc-7-dev libmpx2 libstdc++-7-dev
The following packages will be upgraded:
libatomic1 libcc1-0 libcilkrts5 libgcc1 libgcc1:i386 libgomp1 libitm1 liblsan0 libquadmath0 libstdc++6 libstdc++6:i386 libtsan0 libubsan0
13 upgraded, 9 newly installed, 0 to remove and 34 not upgraded.
Need to get 107 MB of archives.
After this operation, 508 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 gcc-7-base amd64 7.1.0-10ubuntu1~16.04.york0 [39.3 kB]
Get:2 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 gcc-7-base i386 7.1.0-10ubuntu1~16.04.york0 [39.3 kB]
Get:3 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 libgcc1 i386 1:7.1.0-10ubuntu1~16.04.york0 [47.0 kB]
Get:4 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgcc1 amd64 1:7.1.0-10ubuntu1~16.04.york0 [39.4 kB]
Get:5 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main i386 libstdc++6 i386 7.1.0-10ubuntu1~16.04.york0 [436 kB]
Get:6 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libstdc++6 amd64 7.1.0-10ubuntu1~16.04.york0 [403 kB]
Get:7 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 cpp-7 amd64 7.1.0-10ubuntu1~16.04.york0 [33.0 MB]
Get:8 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libcc1-0 amd64 7.1.0-10ubuntu1~16.04.york0 [38.6 kB]
Get:9 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgomp1 amd64 7.1.0-10ubuntu1~16.04.york0 [76.3 kB]
Get:10 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libitm1 amd64 7.1.0-10ubuntu1~16.04.york0 [27.5 kB]
Get:11 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libatomic1 amd64 7.1.0-10ubuntu1~16.04.york0 [8,950 B]
Get:12 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libasan4 amd64 7.1.0-10ubuntu1~16.04.york0 [353 kB]
Get:13 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 liblsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [127 kB]
Get:14 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libtsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [275 kB]
Get:15 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libubsan0 amd64 7.1.0-10ubuntu1~16.04.york0 [119 kB]
Get:16 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libcilkrts5 amd64 7.1.0-10ubuntu1~16.04.york0 [42.4 kB]
Get:17 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libmpx2 amd64 7.1.0-10ubuntu1~16.04.york0 [11.8 kB]
Get:18 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libquadmath0 amd64 7.1.0-10ubuntu1~16.04.york0 [133 kB]
Get:19 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libgcc-7-dev amd64 7.1.0-10ubuntu1~16.04.york0 [2,367 kB]
Get:20 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 gcc-7 amd64 7.1.0-10ubuntu1~16.04.york0 [32.4 MB]
Get:21 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 libstdc++-7-dev amd64 7.1.0-10ubuntu1~16.04.york0 [1,455 kB]
Get:22 http://ppa.launchpad.net/jonathonf/gcc-7.1/ubuntu xenial/main amd64 g++-7 amd64 7.1.0-10ubuntu1~16.04.york0 [35.4 MB]
Fetched 107 MB in 6min 26s (277 kB/s)
Selecting previously unselected package gcc-7-base:amd64.
(Reading database ... 252930 files and directories currently installed.)
Preparing to unpack .../gcc-7-base_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking gcc-7-base:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package gcc-7-base:i386.
Preparing to unpack .../gcc-7-base_7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking gcc-7-base:i386 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7-base:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7-base:i386 (7.1.0-10ubuntu1~16.04.york0) ...
(Reading database ... 252940 files and directories currently installed.)
Preparing to unpack .../libgcc1_1%3a7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
De-configuring libgcc1:i386 (1:6.0.1-0ubuntu1) ...
Unpacking libgcc1:amd64 (1:7.1.0-10ubuntu1~16.04.york0) over (1:6.0.1-0ubuntu1) ...
Preparing to unpack .../libgcc1_1%3a7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking libgcc1:i386 (1:7.1.0-10ubuntu1~16.04.york0) over (1:6.0.1-0ubuntu1) ...
Preparing to unpack .../libstdc++6_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
De-configuring libstdc++6:i386 (5.4.0-6ubuntu1~16.04.9) ...
Unpacking libstdc++6:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libstdc++6_7.1.0-10ubuntu1~16.04.york0_i386.deb ...
Unpacking libstdc++6:i386 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package cpp-7.
Preparing to unpack .../cpp-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking cpp-7 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../libcc1-0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libcc1-0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libgomp1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libgomp1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libitm1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libitm1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libatomic1_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libatomic1:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libasan4:amd64.
Preparing to unpack .../libasan4_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libasan4:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../liblsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking liblsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libtsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libtsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libubsan0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libubsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Preparing to unpack .../libcilkrts5_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libcilkrts5:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libmpx2:amd64.
Preparing to unpack .../libmpx2_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libmpx2:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Preparing to unpack .../libquadmath0_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libquadmath0:amd64 (7.1.0-10ubuntu1~16.04.york0) over (5.4.0-6ubuntu1~16.04.9) ...
Selecting previously unselected package libgcc-7-dev:amd64.
Preparing to unpack .../libgcc-7-dev_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libgcc-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package gcc-7.
Preparing to unpack .../gcc-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking gcc-7 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package libstdc++-7-dev:amd64.
Preparing to unpack .../libstdc++-7-dev_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking libstdc++-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Selecting previously unselected package g++-7.
Preparing to unpack .../g++-7_7.1.0-10ubuntu1~16.04.york0_amd64.deb ...
Unpacking g++-7 (7.1.0-10ubuntu1~16.04.york0) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libgcc1:i386 (1:7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgcc1:amd64 (1:7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++6:i386 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++6:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up cpp-7 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libcc1-0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgomp1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libitm1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libatomic1:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libasan4:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up liblsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libtsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libubsan0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libcilkrts5:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libmpx2:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libquadmath0:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libgcc-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up gcc-7 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up libstdc++-7-dev:amd64 (7.1.0-10ubuntu1~16.04.york0) ...
Setting up g++-7 (7.1.0-10ubuntu1~16.04.york0) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...
synapse@darkside:~/Desktop$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
synapse@darkside:~/Desktop$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
synapse@darkside:~/Desktop/OSVR-Vive/build$ make CC=/usr/bin/gcc-7
[ 4%] Building CXX object CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o
In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
from /usr/include/c++/5/unordered_map:47,
from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:38,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> >’:
/usr/include/c++/5/type_traits:137:12: required from ‘struct std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > >’
/usr/include/c++/5/type_traits:148:38: required from ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63: required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15: required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<vr::ETrackedDeviceProperty>) (const vr::ETrackedDeviceProperty&)’
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
^
In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/bits/stl_algobase.h:64,
from /usr/include/c++/5/memory:62,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/SharedPtr.h:63,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Log.h:32,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Logger.h:33,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:29,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/type_traits: In instantiation of ‘struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63: required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15: required from here
/usr/include/c++/5/type_traits:148:38: error: ‘value’ is not a member of ‘std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > >’
: public integral_constant<bool, !_Pp::value>
^
In file included from /usr/include/c++/5/unordered_map:48:0,
from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:38,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/bits/unordered_map.h: In instantiation of ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63: required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15: required from here
/usr/include/c++/5/bits/unordered_map.h:100:66: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
^
/usr/include/c++/5/bits/unordered_map.h:107:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::key_type key_type;
^
/usr/include/c++/5/bits/unordered_map.h:108:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::value_type value_type;
^
/usr/include/c++/5/bits/unordered_map.h:109:48: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::mapped_type mapped_type;
^
/usr/include/c++/5/bits/unordered_map.h:110:43: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::hasher hasher;
^
/usr/include/c++/5/bits/unordered_map.h:111:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::key_equal key_equal;
^
/usr/include/c++/5/bits/unordered_map.h:112:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::allocator_type allocator_type;
^
/usr/include/c++/5/bits/unordered_map.h:117:45: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::pointer pointer;
^
/usr/include/c++/5/bits/unordered_map.h:118:50: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::const_pointer const_pointer;
^
/usr/include/c++/5/bits/unordered_map.h:119:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::reference reference;
^
/usr/include/c++/5/bits/unordered_map.h:120:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::const_reference const_reference;
^
/usr/include/c++/5/bits/unordered_map.h:121:46: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::iterator iterator;
^
/usr/include/c++/5/bits/unordered_map.h:122:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::const_iterator const_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:123:51: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::local_iterator local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:124:57: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::const_local_iterator const_local_iterator;
^
/usr/include/c++/5/bits/unordered_map.h:125:47: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::size_type size_type;
^
/usr/include/c++/5/bits/unordered_map.h:126:52: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
typedef typename _Hashtable::difference_type difference_type;
^
/usr/include/c++/5/bits/unordered_map.h:280:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:379:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
emplace(_Args&&... __args)
^
/usr/include/c++/5/bits/unordered_map.h:432:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
insert(const value_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:439:2: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
insert(_Pair&& __x)
^
/usr/include/c++/5/bits/unordered_map.h:499:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
insert(initializer_list<value_type> __l)
^
/usr/include/c++/5/bits/unordered_map.h:645:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
equal_range(const key_type& __x)
^
/usr/include/c++/5/bits/unordered_map.h:649:7: error: ‘value’ is not a member of ‘std::__not_<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::__detail::__is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
equal_range(const key_type& __x) const
^
In file included from /home/synapse/Desktop/OSVR-Vive/Properties.h:30:0,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘bool osvr::util::KVDataStore<KeyType, ValueVariant>::containsAnyType(const key_type&) const [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:47: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:75:37: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
auto it = data_.find(key);
^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:76:23: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
return it != data_.end();
^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘const value_variant_type& osvr::util::KVDataStore<KeyType, ValueVariant>::getVariant(const key_type&) const [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::value_variant_type = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:104:49: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:85:37: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
auto it = data_.find(key);
^
In file included from /usr/include/boost/assert.hpp:54:0,
from /usr/include/boost/move/detail/type_traits.hpp:33,
from /usr/include/boost/move/traits.hpp:31,
from /usr/include/boost/move/utility.hpp:29,
from /usr/include/boost/move/move.hpp:29,
from /usr/include/boost/variant/detail/move.hpp:28,
from /usr/include/boost/variant/detail/initializer.hpp:23,
from /usr/include/boost/variant/variant.hpp:30,
from /usr/include/boost/variant.hpp:17,
from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:32,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:86:23: error: ‘const container_type {aka const class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
assert(it != data_.end() &&
^
In file included from /home/synapse/Desktop/OSVR-Vive/Properties.h:30:0,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = float; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:200:45: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
data_[key] = wrappedVal;
^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = int; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:205:43: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = long unsigned int; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:210:43: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = bool; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:215:43: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = std::__cxx11::basic_string<char>; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:220:60: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = vr::HmdMatrix34_t; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:226:43: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::set(const key_type&, const T&) [with T = vr::HmdVector2_t; KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:232:43: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:53:18: error: no match for ‘operator[]’ (operand types are ‘osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >::container_type {aka std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ and ‘const key_type {aka const vr::ETrackedDeviceProperty}’)
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h: In instantiation of ‘void osvr::util::KVDataStore<KeyType, ValueVariant>::erase(const key_type&) [with KeyType = vr::ETrackedDeviceProperty; ValueVariant = boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>; osvr::util::KVDataStore<KeyType, ValueVariant>::key_type = vr::ETrackedDeviceProperty]’:
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:244:36: required from here
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:110:37: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘find’
auto it = data_.find(key);
^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:111:20: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘end’
if (it == data_.end()) {
^
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:115:13: error: ‘using container_type = class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > > {aka class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >}’ has no member named ‘erase’
data_.erase(it);
^
CMakeFiles/ViveLoaderLib.dir/build.make:206: recipe for target 'CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o' failed
make[2]: *** [CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/ViveLoaderLib.dir/all' failed
make[1]: *** [CMakeFiles/ViveLoaderLib.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
This diff fixes the compile issue, but at the cost of performance.
diff --git a/vendor/util-headers/util/KVDataStore.h b/vendor/util-headers/util/KVDataStore.h
index 3d7a0eb..5be1c18 100644
--- a/vendor/util-headers/util/KVDataStore.h
+++ b/vendor/util-headers/util/KVDataStore.h
@@ -35,7 +35,7 @@
#include <cstdint>
#include <stdexcept>
#include <string>
-#include <unordered_map>
+#include <map>
namespace osvr {
namespace util {
@@ -43,7 +43,7 @@ namespace util {
public:
using key_type = KeyType;
using value_variant_type = ValueVariant;
- using container_type = std::unordered_map<key_type, value_variant_type>;
+ using container_type = std::map<key_type, value_variant_type>;
using value_type = typename container_type::value_type;
/// Sets the value associated with the key. Overwrites any existing