[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] CDT Indexer not properly indexing Boost > 1.36
|
From a post I made on the CDT newsgroup and hoping to get some more
comments here:
Boost Version 1.39 gives the indexer fits where Boost 1.36 does not.
Unfortunately I have to use Boost 1.39 in order to build universal
binaries for OS X. If one of the CDT indexer developers would like to
play around with Boost for a bit and maybe come up with a reason as to
why it is failing that would be great.
in the Example code (included below), down in the "main" method, if I
type "t->" and hit the "ctrl-space" for code completion suggestions, I
will get "setMyIntger(int)" as one of the suggestions if I use boost
1.36. If I use Boost 1.39 or boost 1.40 then I will not get any
suggestions.
Indexer results for Boost 1.36
Indexed 'Test' (1 sources, 189 headers) in 2.12 sec: 13,649
declarations; 22,479 references; 0 unresolved inclusions; 0 syntax
errors; 23 unresolved names (0.06%)
Indexer Results for Boost 1.40
Indexed 'Test' (1 sources, 147 headers) in 2.40 sec: 12,792
declarations; 20,940 references; 0 unresolved inclusions; 0 syntax
errors; 13 unresolved names (0.04%)
Any help on why the indexer is failing would be just awesome.. Or
maybe this whole thing should be put into a bug report?
Here is my example Code:
//-- Boost Includes
#include <boost/shared_ptr.hpp>
#include <boost/weak_ptr.hpp>
/**
* @brief Creates a static method that returns a NULL pointer wrapped
in a
* boost::shared_ptr<>
* @param thisClass The name of the class.
*/
#define MXA_NULL_SHARED_POINTER(thisClass)\
static Pointer NullPointer(void) { \
return Pointer(static_cast<thisClass*>(NULL));\
}
/**
* @brief Creates some basic typedefs that can be used throughout the
code to
* reference the class.
*/
#define MXA_SHARED_POINTERS(thisClass)\
typedef thisClass Self;\
typedef boost::shared_ptr< Self > Pointer;\
typedef boost::shared_ptr<const Self > ConstPointer;\
typedef boost::weak_ptr< thisClass > WeakPointer;\
typedef boost::weak_ptr< thisClass > ConstWeakPointer;\
MXA_NULL_SHARED_POINTER(thisClass)
/**
* @brief Creates a "setter" method to set the property.
*/
#define MXA_SET_PROPERTY_m(type, prpty) \
void set##prpty(type value) { this->m_##prpty = value; }
/**
* @brief Creates a "getter" method to retrieve the value of the
property.
*/
#define MXA_GET_PROPERTY_m(type, prpty) \
type get##prpty() { return m_##prpty; }
#define MXA_INSTANCE_PROPERTY_m(type, prpty)\
private:\
type m_##prpty;\
public:\
MXA_SET_PROPERTY_m(type, prpty)\
MXA_GET_PROPERTY_m(type, prpty)
//
-----------------------------------------------------------------------------
//
//
-----------------------------------------------------------------------------
class Test
{
MXA_SHARED_POINTERS(Test)
~Test() {}
MXA_INSTANCE_PROPERTY_m(int, MyInteger);
protected:
Test() {}
private:
Test(const Test&); // Copy Constructor Not Implemented
void operator=(const Test&); // Operator '=' Not Implemented
};
//
-----------------------------------------------------------------------------
//
//
-----------------------------------------------------------------------------
int main() {
Test::Pointer t = Test::New();
t->
return 0;
}
_________________________________________________________
Mike Jackson mike.jackson@xxxxxxxxxxxxxx
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio