id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc
7696,Conflict mutex.hpp together with move.hpp,orlov@…,Ion Gaztañaga,"When trying to compile the following code:
{{{
#ifndef FRAME_DATA_QUEUE_H
#define FRAME_DATA_QUEUE_H
#include
//#include
#include
//#include
typedef int PFrameData;
class CFrameDataQueue
{
public:
void PushData(PFrameData pData);
PFrameData PopData();
bool IsQueueEmpty();
int GetSize();
void Lock();
void Unlock();
void Clean();
private:
typedef std::queue TFrameDataQueue;
TFrameDataQueue m_FrameDataQueue;
boost::mutex m_FrameDataQueueMutex;
//boost::unique_lock m_Lock;
};
typedef boost::shared_ptr PFrameDataQueue;
#endif // FRAME_DATA_QUEUE_H
}}}
I got the error (MS Visual Studio 2010 SP1):
{{{
1>------ Build started: Project: LibIPStream, Configuration: Debug x64 ------
1>Build started 15.11.2012 16:45:47.
1>InitializeBuildStatus:
1> Touching ""x64\Debug\LibIPStream.unsuccessfulbuild"".
1>ClCompile:
1> FrameDataServerMediaSubsession.cpp
1> FrameDataSignalSource.cpp
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(142): error C2062: type 'bool' unexpected
1> D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143) : see reference to class template instantiation 'boost::move_detail::not_<__formal>' being compiled
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143): error C2143: syntax error : missing ';' before '{'
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143): fatal error C1004: unexpected end-of-file found
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(142): error C2062: type 'bool' unexpected
1> D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143) : see reference to class template instantiation 'boost::move_detail::not_<__formal>' being compiled
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143): error C2143: syntax error : missing ';' before '{'
1>D:\SDK_64\boost_1_52_0\boost/move/move.hpp(143): fatal error C1004: unexpected end-of-file found
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:02.60
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
}}}
Commenting struct ""not_"" from move.hpp does the trick:
{{{
//template
// struct not_
// : public integral_constant
//{};
}}}",Bugs,closed,To Be Determined,move,Boost 1.52.0,Problem,fixed,,