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.