c++ - De-duplication of NSString & unichar constants -


i have 2 simple constants:

  1. nsstring and
  2. unichar,

defined follows:

static nsstring * const string = @"\u2022"; static unichar const character = 0x2022; 

i'd want have number 0x2022 defined in 1 place.

i tried lot of combinations (# , ##, cfstr macro) no success.

can done?

(using ideas how concatenate twice c preprocessor , expand macro in "arg ## _ ## macro"?):

#define stringify(_x_) #_x_  #define unichar_from_hexcode1(_c_) 0x ## _c_ #define unichar_from_hexcode(_c_) unichar_from_hexcode1(_c_)  #define nsstring_from_hexcode1(_c_) @"" stringify(\u ## _c_) #define nsstring_from_hexcode(_c_) nsstring_from_hexcode1(_c_)  #define mycharcode 2022 static unichar const character = unichar_from_hexcode(mycharcode); static nsstring * const string = nsstring_from_hexcode(mycharcode); 

preprocessed output:

static unichar const character = 0x2022; static nsstring * const string = @"" "\u2022"; 

(note @"" "\u2022" equivalent @"\u2022".)


Comments

Popular posts from this blog

java - JavaFX 2 slider labelFormatter not being used -

Detect support for Shoutcast ICY MP3 without navigator.userAgent in Firefox? -

web - SVG not rendering properly in Firefox -