|
Boost : |
From: Steven Ketcham (sketcham_at_[hidden])
Date: 2002-12-19 12:25:54
I have an application that was working. Since then I wiped my computer,
reinstalled the os and browser with all the patches. Now it does not
compile.
VC++ 6.0 sp5 win2000.
sample errors (cut down from around 400 plus)
//--------------------------------------------------------------------------
----------------------------------
boost_1_29_0\boost\function\function_template.hpp(73): error C2061: syntax
error : identifier 'any_pointer'
boost_1_29_0\boost\function\function_template.hpp(79):
see reference to class template instantiation
'boost::detail::function::function_invoker0<FunctionPtr,R>' being compiled
Hopefully this is obvious. Any suggestions?
Thanks!
The include file:
//--------------------------------------------------------------------------
----------------------------------
#ifndef DSIBOOST_H
#define DSIBOOST_H
#include <string>
#define BOOST_FUNCTION_NO_DEPRECATED
#include "./boost/bind.hpp"
#include "./boost/function.hpp"
typedef boost::function0<void> CallBackFunctionEmpty;
typedef boost::function0<std::string> CallBackFunctionStringVoid;
typedef boost::function1<void, std::string > CallBackFunctionVoidString;
typedef boost::function2<int, std::string &, bool & >
CallBackFunctionIntStringBool;
typedef boost::function1<void, std::string & >
CallBackFunctionVoidRefString;
typedef boost::function1<std::string, std::string >
CallBackFunctionStringString;
#endif
Sample implementation
//--------------------------------------------------------------------------
----------------------------------
void CMainFrame::CreateCallBackObject()
{
CWebBrowserCallBack * cb = new CWebBrowserCallBack();
_LibraryObject = cb;
cb->CallBackAddValue = boost::bind(&CMainFrame::DoAddValue, this);
cb->CallBackRemoveValue = boost::bind(&CMainFrame::DoRemoveValue, this);
cb->CallBackVoteValues = boost::bind(&CMainFrame::DoVoteValues, this,
_1);
cb->CallBackEmployeeList =
boost::bind(&HtmlPageRetriever::GetEmployeeList, fHtmlPageRetriever);
cb->CallBackValuesList = boost::bind(&HtmlPageRetriever::GetValuesList,
fHtmlPageRetriever);
cb->CallBackAddIncident = boost::bind(&HtmlPageRetriever::DoAddIncident,
fHtmlPageRetriever, _1);
cb->CallBackGetItemForReviewTemplate =
boost::bind(&CMainFrame::GetItemForReviewTemplate, this, _1, _2);
cb->CallBackGetItemForReviewTemplate =
boost::bind(&CMainFrame::GetItemForReviewTemplate, this, _1, _2);
cb->CallBackGetReviewTemplate =
boost::bind(&CMainFrame::GetReviewTemplate, this);
cb->CallBackSetReviewTemplate =
boost::bind(&HtmlPageRetriever::DoAddReviewTemplate, fHtmlPageRetriever,
_1);
}
//-----------------------S. Ketcham Nov 2002------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk