| 753 | */ |
| 754 | template<typename T> |
| 755 | inline void |
| 756 | push(T in) { |
| 757 | if (numArgs == totalCapacity) |
| 758 | reserve(numArgs + 1); |
| 759 | |
| 760 | #pragma GCC diagnostic push |
| 761 | #pragma GCC diagnostic ignored "-Wstrict-aliasing" |
| 762 | if (numArgs < INITIAL_SIZE) |
| 763 | *(reinterpret_cast<T*>(&rawArgs[numArgs])) = in; |
| 764 | else |
| 765 | *(reinterpret_cast<T*>( |
| 766 | &rawArgsExtension[numArgs - INITIAL_SIZE])) = in; |
| 767 | ++numArgs; |
| 768 | #pragma GCC diagnostic pop |
| 769 | } |
| 770 | |
| 771 | /** |
| 772 | * Return the n-th argument to the log statement (0-based). |
no outgoing calls