Subject: [Boost-bugs] [Boost C++ Libraries] #7696: Conflict mutex.hpp together with move.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-15 13:01:33
#7696: Conflict mutex.hpp together with move.hpp
---------------------------------+------------------------------------------
Reporter: orlov@⦠| Owner: anthonyw
Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
Version: Boost 1.52.0 | Severity: Problem
Keywords: |
---------------------------------+------------------------------------------
When trying to compile the following code:
{{{
#ifndef FRAME_DATA_QUEUE_H
#define FRAME_DATA_QUEUE_H
#include <queue>
//#include <boost/thread/locks.hpp>
#include <boost/thread/mutex.hpp>
//#include <IPStream/Decoder/FrameData.h>
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<PFrameData> TFrameDataQueue;
TFrameDataQueue
m_FrameDataQueue;
boost::mutex
m_FrameDataQueueMutex;
//boost::unique_lock<boost::mutex> m_Lock;
};
typedef boost::shared_ptr<CFrameDataQueue> 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 <typename Boolean>
// struct not_
// : public integral_constant<bool, !Boolean::value>
//{};
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7696> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC