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

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
> 


Back to the top