<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you 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. 
-->
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <!--
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
            This file is generated from XML source: DO NOT EDIT!
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
   -->
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<link rel="stylesheet" href="/style/compressed.css" type="text/css" media="screen, projection"/>
	<link rel="stylesheet" href="/style/style.css" type="text/css" media="screen, projection"/>
	<link rel="stylesheet" href="/style/attic.css" type="text/css" media="screen, projection"/>
	<!--[if IE]><link rel="stylesheet" href="/style/ie.css" type="text/css" media="screen, projection"/><![endif]-->
     <meta name="author" content="The Apache Software Foundation" /><meta name="email" content="general.AT.attic.apache.DOT.org" />
    <title>Apache C++ Standard Library (STDCXX) - Apache Attic</title>
  
 </head>
 <body id="sub">
	<div class="container">
	<hr class="space col"/>
	<div class="block">
		<div class="column span-24">
      <div id="header">
                          <!-- Add 'default' header section here. -->
                                <h1>Apache C++ Standard Library (STDCXX)</h1>
                         </div>
      </div>
	</div>
	<hr/>
	<div class="block content">
		<div class="column span-15 colborder">
                            
<div class="section-content">
<p>The <a href="http://stdcxx.apache.org">Apache C++ Standard Library (STDCXX)</a> moved into the Attic in July 2013. 
     The Apache C++ Standard Library project was a collection of algorithms, containers, iterators, and other fundamental 
     components of every piece of software, implemented as C++ classes, templates, and functions essential for writing C++ programs. </p>
<p>The user mailing list, website, downloads and issue tracker all remain open, though 
     the issue tracker is read-only. See the website at 
     <a href="http://stdcxx.apache.org/">http://stdcxx.apache.org</a> for more information on the project. </p>

  <table style="margin-left: auto; margin-right:auto; width:90%">
    <tr>
      <th>Read-only Resource</th>
      <th>Link(s)</th>
    </tr>
    <tr>
      <td>Website</td>
      <td><a href="http://stdcxx.apache.org/">stdcxx.apache.org/</a></td>
    </tr>
    <tr>
      <td>Mailing List Archives</td>
      <td>
        <a href="http://mail-archives.apache.org/mod_mbox/stdcxx-dev/">dev</a>
        | <a href="http://mail-archives.apache.org/mod_mbox/stdcxx-commits/">commits</a>
        | <a href="http://mail-archives.apache.org/mod_mbox/stdcxx-user/">user</a>
      </td>
    </tr>
    <tr>
      <td>Issue Tracker (JIRA)</td>
      <td><a href="https://issues.apache.org/jira/browse/STDCXX/">STDCXX</a></td>
    </tr>
    <tr>
      <td>Wiki</td>
      <td><a href="http://wiki.apache.org/stdcxx/">wiki.apache.org/stdcxx/</a></td>
    </tr>
    <tr>
      <td>Source Code (Subversion)</td>
      <td><a href="http://svn.apache.org/repos/asf/stdcxx/">svn.apache.org/repos/asf/stdcxx/</a></td>
    </tr>
    <tr>
      <td>Board Reports</td>
      <td><a href="https://whimsy.apache.org/board/minutes/Cxx_Standard_Library.html">Minutes</a></td>
    </tr>
    <tr>
      <td>Downloads</td>
      <td><a href="http://archive.apache.org/dist/stdcxx/">archive.apache.org/dist/stdcxx/</a> 
      | <a href="http://archive.apache.org/dist/stdcxx/KEYS">KEYS</a>
      </td>
    </tr>
  </table>

<p>As with any project in the Attic - if you should choose to fork the retired project outside of Apache, 
     please let us know so we can link to your project. </p>
<p>Archived versions of the Apache C++ Standard Library (STDCXX) may be downloaded from the 
     <a href="http://archive.apache.org/dist/stdcxx/">Apache Archives</a>. </p>
</div>
         </div>
    <div class="column span-8 last">
      <div class="block">
        <div class="nav column span-11">
          <div>
               <div class="menuheader">The Apache Attic</div>
  <ul>
          <li><a href="/">Home</a></li> 
          <li><a href="https://projects.apache.org/committee.html?attic">The team</a></li> 
          <li><a href="/process.html">Process</a></li> 
          <li><a href="/tracking.html">Process tracking</a></li> 
          <li><a href="https://whimsy.apache.org/board/minutes/Attic.html">Board Minutes</a></li> 
          <li><a href="http://www.apache.org/licenses/">License</a></li> 
          <li><a href="http://www.apache.org/security/">Security</a></li> 
      </ul>
      <div class="menuheader">Related Apache Links</div>
  <ul>
          <li><a href="http://www.apache.org/">Foundation</a></li> 
          <li><a href="http://www.apache.org/foundation/sponsorship.html">Donate</a></li> 
          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> 
          <li><a href="http://incubator.apache.org/">Incubator</a></li> 
          <li><a href="http://apachecon.com/">ApacheCon</a></li> 
      </ul>
          </div>
        </div>
        <div class="nav column prepend-1 span-12 last">
               <h6>Projects in the Attic</h6>
  <ul>
          <li><a href="/projects/abdera.html">Abdera</a></li> 
          <li><a href="/projects/ace.html">ACE</a></li> 
          <li><a href="/projects/apex.html">Apex</a></li> 
          <li><a href="/projects/aurora.html">Aurora</a></li> 
          <li><a href="/projects/avalon.html">Avalon</a></li> 
          <li><a href="/projects/axkit.html">AxKit</a></li> 
          <li><a href="/projects/axis-sandesha-c.html">Axis Sandesha2/C</a></li> 
          <li><a href="/projects/axis-savan-c.html">Axis Savan/C</a></li> 
          <li><a href="/projects/axis-savan-java.html">Axis Savan/Java</a></li> 
          <li><a href="/projects/beehive.html">Beehive</a></li> 
          <li><a href="/projects/chemistry.html">Chemistry</a></li> 
          <li><a href="/projects/chukwa.html">Chukwa</a></li> 
          <li><a href="/projects/clerezza.html">Clerezza</a></li> 
          <li><a href="/projects/click.html">Click</a></li> 
          <li><a href="/projects/climate.html">Open Climate Workbench</a></li> 
          <li><a href="/projects/crimson.html">Crimson</a></li> 
          <li><a href="/projects/continuum.html">Continuum</a></li> 
          <li><a href="/projects/crunch.html">Crunch</a></li> 
          <li><a href="/projects/deltacloud.html">Deltacloud</a></li> 
          <li><a href="/projects/devicemap.html">DeviceMap</a></li> 
          <li><a href="/projects/directmemory.html">DirectMemory</a></li> 
          <li><a href="/projects/drat.html">DRAT</a></li> 
          <li><a href="/projects/eagle.html">Eagle</a></li> 
          <li><a href="/projects/esme.html">ESME</a></li> 
          <li><a href="/projects/etch.html">Etch</a></li> 
          <li><a href="/projects/excalibur.html">Excalibur</a></li> 
          <li><a href="/projects/falcon.html">Falcon</a></li> 
          <li><a href="/projects/forrest.html">Forrest</a></li> 
          <li><a href="/projects/hama.html">Hama</a></li> 
          <li><a href="/projects/harmony.html">Harmony</a></li> 
          <li><a href="/projects/hivemind.html">HiveMind</a></li> 
          <li><a href="/projects/ibatis.html">iBATIS</a></li> 
          <li><a href="/projects/jakarta.html">Jakarta</a></li> 
          <li><a href="/projects/jakarta-cactus.html">Jakarta Cactus</a></li> 
          <li><a href="/projects/jakarta-ecs.html">Jakarta ECS</a></li> 
          <li><a href="/projects/jakarta-oro.html">Jakarta ORO</a></li> 
          <li><a href="/projects/jakarta-regexp.html">Jakarta Regexp</a></li> 
          <li><a href="/projects/jakarta-slide.html">Jakarta Slide</a></li> 
          <li><a href="/projects/jakarta-taglibs.html">Jakarta Taglibs</a></li> 
          <li><a href="/projects/joshua.html">Joshua</a></li> 
          <li><a href="/projects/labs.html">Labs</a></li> 
          <li><a href="/projects/lens.html">Lens</a></li> 
          <li><a href="/projects/lenya.html">Lenya</a></li> 
          <li><a href="/projects/lucy.html">Lucy</a></li> 
          <li><a href="/projects/marmotta.html">Marmotta</a></li> 
          <li><a href="/projects/metamodel.html">MetaModel</a></li> 
          <li><a href="/projects/metron.html">Metron</a></li> 
          <li><a href="/projects/mrunit.html">MRUnit</a></li> 
          <li><a href="/projects/ode.html">ODE</a></li> 
          <li><a href="/projects/ojb.html">ObJectRelationalBridge (OJB)</a></li> 
          <li><a href="/projects/oltu.html">Oltu (previously Amber)</a></li> 
          <li><a href="/projects/onami.html">Onami</a></li> 
          <li><a href="/projects/polygene.html">Polygene</a></li> 
          <li><a href="/projects/predictionio.html">PredictionIO</a></li> 
          <li><a href="/projects/quetzalcoatl.html">Quetzalcoatl</a></li> 
          <li><a href="/projects/rave.html">Rave</a></li> 
          <li><a href="/projects/river.html">River</a></li> 
          <li><a href="/projects/sentry.html">Sentry</a></li> 
          <li><a href="/projects/shale.html">Shale</a></li> 
          <li><a href="/projects/shindig.html">Shindig</a></li> 
          <li><a href="/projects/sqoop.html">Sqoop</a></li> 
          <li><a href="/projects/stdcxx.html">Standard C++ Library (STDCXX)</a></li> 
          <li><a href="/projects/stanbol.html">Stanbol</a></li> 
          <li><a href="/projects/stratos.html">Stratos</a></li> 
          <li><a href="/projects/tajo.html">Tajo</a></li> 
          <li><a href="/projects/tiles.html">Tiles</a></li> 
          <li><a href="/projects/trafodion.html">Trafodion</a></li> 
          <li><a href="/projects/tuscany.html">Tuscany</a></li> 
          <li><a href="/projects/twill.html">Twill</a></li> 
          <li><a href="/projects/usergrid.html">Usergrid</a></li> 
          <li><a href="/projects/vxquery.html">VXQuery</a></li> 
          <li><a href="/projects/whirr.html">Whirr</a></li> 
          <li><a href="/projects/wink.html">Wink</a></li> 
          <li><a href="/projects/wookie.html">Wookie</a></li> 
          <li><a href="/projects/muse.html">WS Muse</a></li> 
          <li><a href="/projects/xang.html">Xang</a></li> 
          <li><a href="/projects/xindice.html">Xindice</a></li> 
          <li><a href="/projects/xmlbeans.html">XMLBeans</a>
        ; revived June 2018
      </li> 
          <li><a href="/projects/xml.html">XML</a></li> 
      </ul>
        </div>
      </div>
    </div>
    <div class="column span-24 footer">
      <hr/>
        <p>Copyright &#169; 2009-2021 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
        Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
      </div>
    </div>
  </div>
</body>
</html>

