$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Jan Stetka (janpstetka_at_[hidden])
Date: 2006-05-07 07:42:08
I certainly wasn't getting at renaming the shmem containers. Although I 
am not the developer of this library I think there are more important 
issues such as the ambiguous native function calls. With this code:
#include "boost/shmem/containers/map.hpp"
#include <boost/shmem/named_shared_object.hpp>
#include <atlbase.h>
#include <atlapp.h>
#include <atlwin.h>
#include <atlscrl.h>
class PHScroll: public CScrollWindowImpl<PHScroll>
{
public:
        DECLARE_WND_CLASS(NULL)
        BEGIN_MSG_MAP(PHScroll)
                MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLB)
                MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRB)
                CHAIN_MSG_MAP(CScrollWindowImpl<PHScroll>);
        END_MSG_MAP()
        void DoPaint(CDCHandle dc);
        LRESULT OnLB(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
        LRESULT OnRB(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
        void SetSize(SIZE);
};
using namespace boost::shmem;
int main(int argc, char *argv[ ])
{
        PHScroll phs;
}
I get:
c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4438) : error C2668: 
'GetCurrentThreadId' : ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\PlatformSDK\Include\WinBase.h(2502): could be 'DWORD 
GetCurrentThreadId(void)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(359): 
or       'unsigned long boost::shmem::GetCurrentThreadId(void)'
         while trying to match the argument list '(void)'
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4434) : while compiling class-template 
member function 
'ATL::CAtlAutoThreadModuleT<T>::~CAtlAutoThreadModuleT(void)'
         with
         [
             T=ATL::CAtlAutoThreadModule
         ]
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4513) : see reference to class 
template instantiation 'ATL::CAtlAutoThreadModuleT<T>' being compiled
         with
         [
             T=ATL::CAtlAutoThreadModule
         ]
c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4451) : error C2668: 'GetLastError' : 
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\PlatformSDK\Include\WinBase.h(2688): could be 'DWORD 
GetLastError(void)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(361): 
or       'unsigned int boost::shmem::GetLastError(void)'
         while trying to match the argument list '(void)'
c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4459) : error C2668: 'CloseHandle' : 
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\PlatformSDK\Include\WinBase.h(3355): could be 'BOOL 
CloseHandle(HANDLE)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(362): 
or       'int boost::shmem::CloseHandle(void *)'
         while trying to match the argument list '(HANDLE)'
c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\atlmfc\include\atlbase.h(4462) : error C2668: 'CloseHandle' : 
ambiguous call to overloaded function
         c:\Program Files\Microsoft Visual Studio .NET 
2003\Vc7\PlatformSDK\Include\WinBase.h(3355): could be 'BOOL 
CloseHandle(HANDLE)'
 
c:\boost_1_33_1\boost\shmem\sync\win32\win32_sync_primitives.hpp(362): 
or       'int boost::shmem::CloseHandle(void *)'
         while trying to match the argument list '(HANDLE)'
Thanks