|
Ion
|

Go to the source code of this file.
Macros | |
| #define | ION_ARGCOUNT_EXPAND(x) x |
| Copyright 2016 Google Inc. More... | |
| #define | ION_ARGCOUNT_CONCAT(a, b) a##b |
| These macros allow a macro name to be concatenated. More... | |
| #define | ION_ARGCOUNT_XCONCAT(a, b) ION_ARGCOUNT_CONCAT(a, b) |
| #define | ION_ARGCOUNT(...) ION_ARGCOUNT_EXPAND(ION_ARGCOUNT_(__VA_ARGS__, ION_ARGCOUNT_RSEQ_N())) |
| #define | ION_ARGCOUNT_(...) ION_ARGCOUNT_EXPAND(ION_ARGCOUNTN(__VA_ARGS__)) |
| #define | ION_ARGCOUNTN(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10,_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, N,...) N |
| #define | ION_ARGCOUNT_RSEQ_N() |
| #define ION_ARGCOUNT | ( | ... | ) | ION_ARGCOUNT_EXPAND(ION_ARGCOUNT_(__VA_ARGS__, ION_ARGCOUNT_RSEQ_N())) |
Definition at line 33 of file argcount.h.
| #define ION_ARGCOUNT_ | ( | ... | ) | ION_ARGCOUNT_EXPAND(ION_ARGCOUNTN(__VA_ARGS__)) |
Definition at line 35 of file argcount.h.
| #define ION_ARGCOUNT_CONCAT | ( | a, | |
| b | |||
| ) | a##b |
These macros allow a macro name to be concatenated.
Definition at line 30 of file argcount.h.
| #define ION_ARGCOUNT_EXPAND | ( | x | ) | x |
Copyright 2016 Google Inc.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.ION_ARGCOUNT(VA_ARGS) returns the number of arguments passed to it, up to 64 arguments. See: http://groups.google.com/group/comp.std.c/browse_thread/thread/77ee8c8f92e4a3fbugfc464319b1ee5?pli=1 NOLINT This expansion is unfortunately necessary because of a bug in VS2010 that does not expand VA_ARGS properly when passed to another macro.
Definition at line 27 of file argcount.h.
| #define ION_ARGCOUNT_RSEQ_N | ( | ) |
Definition at line 44 of file argcount.h.
| #define ION_ARGCOUNT_XCONCAT | ( | a, | |
| b | |||
| ) | ION_ARGCOUNT_CONCAT(a, b) |
Definition at line 31 of file argcount.h.
| #define ION_ARGCOUNTN | ( | _1, | |
| _2, | |||
| _3, | |||
| _4, | |||
| _5, | |||
| _6, | |||
| _7, | |||
| _8, | |||
| _9, | |||
| _10, | |||
| _11, | |||
| _12, | |||
| _13, | |||
| _14, | |||
| _15, | |||
| _16, | |||
| _17, | |||
| _18, | |||
| _19, | |||
| _20, | |||
| _21, | |||
| _22, | |||
| _23, | |||
| _24, | |||
| _25, | |||
| _26, | |||
| _27, | |||
| _28, | |||
| _29, | |||
| _30, | |||
| _31, | |||
| _32, | |||
| _33, | |||
| _34, | |||
| _35, | |||
| _36, | |||
| _37, | |||
| _38, | |||
| _39, | |||
| _40, | |||
| _41, | |||
| _42, | |||
| _43, | |||
| _44, | |||
| _45, | |||
| _46, | |||
| _47, | |||
| _48, | |||
| _49, | |||
| _50, | |||
| _51, | |||
| _52, | |||
| _53, | |||
| _54, | |||
| _55, | |||
| _56, | |||
| _57, | |||
| _58, | |||
| _59, | |||
| _60, | |||
| _61, | |||
| _62, | |||
| _63, | |||
| N, | |||
| ... | |||
| ) | N |
Definition at line 36 of file argcount.h.