diff options
author | Dave Houlton <euclid@lindenlab.com> | 2020-07-23 12:21:18 -0600 |
---|---|---|
committer | Dave Houlton <euclid@lindenlab.com> | 2020-07-23 12:21:18 -0600 |
commit | 64a9ad0f5f52dac633a76e39335a7def2573b82e (patch) | |
tree | e47af1ff1bd1db52fd93c11d857b11387bacf01a /indra/test/print.h | |
parent | 05200cf827d9a6263adc4905bf41a4905bce2659 (diff) | |
parent | 72423372d6cd7f763a5567ad75752fa4e7131d60 (diff) |
Merge branch 'master' v6.4.6 into DRTVWR-497
Diffstat (limited to 'indra/test/print.h')
-rw-r--r-- | indra/test/print.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/indra/test/print.h b/indra/test/print.h new file mode 100644 index 0000000000..08e36caddf --- /dev/null +++ b/indra/test/print.h @@ -0,0 +1,42 @@ +/** + * @file print.h + * @author Nat Goodspeed + * @date 2020-01-02 + * @brief print() function for debugging + * + * $LicenseInfo:firstyear=2020&license=viewerlgpl$ + * Copyright (c) 2020, Linden Research, Inc. + * $/LicenseInfo$ + */ + +#if ! defined(LL_PRINT_H) +#define LL_PRINT_H + +#include <iostream> + +// print(..., NONL); +// leaves the output dangling, suppressing the normally appended std::endl +struct NONL_t {}; +#define NONL (NONL_t()) + +// normal recursion end +inline +void print() +{ + std::cerr << std::endl; +} + +// print(NONL) is a no-op +inline +void print(NONL_t) +{ +} + +template <typename T, typename... ARGS> +void print(T&& first, ARGS&&... rest) +{ + std::cerr << first; + print(std::forward<ARGS>(rest)...); +} + +#endif /* ! defined(LL_PRINT_H) */ |