File: /usr/include/c++/4.2.1/cstdarg

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: // -*- C++ -*- forwarding header.
       2: 
       3: // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
       4: // Free Software Foundation, Inc.
       5: //
       6: // This file is part of the GNU ISO C++ Library.  This library is free
       7: // software; you can redistribute it and/or modify it under the
       8: // terms of the GNU General Public License as published by the
       9: // Free Software Foundation; either version 2, or (at your option)
      10: // any later version.
      11: 
      12: // This library is distributed in the hope that it will be useful,
      13: // but WITHOUT ANY WARRANTY; without even the implied warranty of
      14: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15: // GNU General Public License for more details.
      16: 
      17: // You should have received a copy of the GNU General Public License along
      18: // with this library; see the file COPYING.  If not, write to the Free
      19: // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
      20: // USA.
      21: 
      22: // As a special exception, you may use this file as part of a free software
      23: // library without restriction.  Specifically, if other files instantiate
      24: // templates or use macros or inline functions from this file, or you compile
      25: // this file and link it with other files to produce an executable, this
      26: // file does not by itself cause the resulting executable to be covered by
      27: // the GNU General Public License.  This exception does not however
      28: // invalidate any other reasons why the executable file might be covered by
      29: // the GNU General Public License.
      30: 
      31: /** @file include/cstdarg
      32:  *  This is a Standard C++ Library file.  You should @c #include this file
      33:  *  in your programs, rather than any of the "*.h" implementation files.
      34:  *
      35:  *  This is the C++ version of the Standard C Library header @c stdarg.h,
      36:  *  and its contents are (mostly) the same as that header, but are all
      37:  *  contained in the namespace @c std (except for names which are defined
      38:  *  as macros in C).
      39:  */
      40: 
      41: //
      42: // ISO C++ 14882: 20.4.6  C library
      43: //
      44: 
      45: #ifndef _GLIBCXX_CSTDARG
      46: #define _GLIBCXX_CSTDARG 1
      47: 
      48: #pragma GCC system_header
      49: 
      50: #include <bits/c++config.h>
      51: #include <stdarg.h>
      52: 
      53: // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
      54: #ifndef va_end
      55: #define va_end(ap) va_end (ap)
      56: #endif
      57: 
      58: _GLIBCXX_BEGIN_NAMESPACE(std)
      59: 
      60:   using ::va_list;
      61: 
      62: _GLIBCXX_END_NAMESPACE
      63: 
      64: #endif
      65: