• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Nil and nil Macro Conflict
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nil and nil Macro Conflict


  • Subject: Re: Nil and nil Macro Conflict
  • From: Greg Parker <email@hidden>
  • Date: Tue, 01 May 2012 10:16:45 -0700

On May 1, 2012, at 7:10 AM, Andreas Grosam <email@hidden> wrote:
> Hm, the library is a header only template library - namely its spirit (from boost), so my chances to never include this library are zero ;)
>
> Basically, I need something like the following to compile:
>
> // file foo.m:
>
> #include <Foundation/Foundation.h>
>
> namespace nm {
>    struct nil {};
>    struct Nil {};
> }
>
> NSObject* o = nil;

If you never need to use boost's nil in your own code, you can carefully order your includes so the boost headers are always first.

#include <boost/header-that-uses-nil.h>  // uses nil
#include <Foundation/Foundation.h>       // #defines nil but doesn't affect the boost header
NSObject *o = nil;  // uses objc's nil


If you do need to use boost's nil in your own code, you can use macro tricks to rename their nil.

#define nil boost_nil
#include <boost/header-that-uses-nil.h>
#undef nil
#include <Foundation/Foundation.h>
// now you have objc's nil and boost::boost_nil


--
Greg Parker     email@hidden     Runtime Wrangler



_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Nil and nil Macro Conflict
      • From: Andreas Grosam <email@hidden>
    • Re: Nil and nil Macro Conflict
      • From: Don Quixote de la Mancha <email@hidden>
References: 
 >Nil and nil Macro Conflict (From: Andreas Grosam <email@hidden>)
 >Re: Nil and nil Macro Conflict (From: Scott Ribe <email@hidden>)
 >Re: Nil and nil Macro Conflict (From: Andreas Grosam <email@hidden>)

  • Prev by Date: Re: Minimal document-based app
  • Next by Date: Re: Minimal document-based app
  • Previous by thread: Re: Nil and nil Macro Conflict
  • Next by thread: Re: Nil and nil Macro Conflict
  • Index(es):
    • Date
    • Thread