
Jan Stetka(e)k dio:
Hello,
The compiler knows about shmem::list as it is declared in shmem_fwd.hpp which is included in containers\map.hpp. shmem::list is NOT used in map.hpp. It would be possible to just forward declare those classes that are needed. Such a fine grained approach would make it easier to use shmem and stl side by side.
That won't solve the problem if you use "using namespace boost::shmem" and "using namespace std" because although you don't include containers directly, the library might use some containers internally (for example, map) and you can get ambiguous symbols. I suggest using a namespace alias if you find "boost::shmem::container" too long, but if you try to push all std names and boost::shmem names to the global namespace you will surely have problems. This is likely to happen also with other boost libraries that mimic STL algorithms. Regards, Ion