Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] CDT Indexer not properly indexing Boost > 1.36

I would be happy to file a bug report but I don't know what is going wrong between the 2 versions of boost so the included code is about the best I can do. I am open to suggestions to help get you closer though. Log files from the Indexer perhaps?
_________________________________________________________
Mike Jackson                  mike.jackson@xxxxxxxxxxxxxx
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

On Oct 14, 2009, at 10:54 AM, Schorn, Markus wrote:

Please file a bug report. To save some of my time it'd be great if you
can extract a self-contained example (idependent of boost 1.40) that
illustrates
the issue.
Markus.

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx
[mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Michael Jackson
Sent: Wednesday, October 14, 2009 4:46 PM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] CDT Indexer not properly indexing Boost > 1.36
Importance: Low

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

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top