Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
Varargs.h
Go to the documentation of this file.
1/* @(#)root/base:$Id$ */
2
3/*************************************************************************
4 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
11#ifndef ROOT_Varargs
12#define ROOT_Varargs
13
14#warning "The header Varargs.h is deprecated and will be removed in ROOT 6.46, include <cstdarg> instead."
15
16#if defined(sparc) && defined(__CC_ATT301__)
17
18 extern "C" __builtin_va_arg_incr(...);
19 typedef char *va_list;
20# define va_end(ap)
21# define va_start(ap, parmN) ap= (char*)(&parmN+1)
22# define va_arg(ap, mode) ((mode*) __builtin_va_arg_incr((mode*)ap))[0]
23# define va_(arg) __builtin_va_alist
24
25# include <cstdio>
26
27 extern "C" {
28 int vfprintf(FILE*, const char *fmt, va_list ap);
29 char *vsprintf(char*, const char *fmt, va_list ap);
30 };
31
32#else
33# include <cstdarg>
34# if defined(sparc) && !defined(__GNUG__) && !defined(__CC_SUN21__) && !defined(__SVR4)
35# define va_(arg) __builtin_va_alist
36# else
37# define va_(arg) arg
38# endif
39
40#endif
41
42#if !defined(R__VA_COPY)
43# if defined(va_copy)
44# define R__VA_COPY(to, from) va_copy((to), (from))
45# elif defined(__va_copy)
46# define R__VA_COPY(to, from) __va_copy((to), (from))
47# elif defined(_WIN32) && _MSC_VER < 1310
48# define R__VA_COPY(to, from) (*(to) = *(from))
49# else
50# define R__VA_COPY(to, from) ((to) = (from))
51# endif
52#endif
53
54#endif
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.