Skip to main content

What is the Apache C++ Standard Library?


The Apache C++ Standard Library project (code name stdcxx, pronounced "standard C++ library", not S-T-D-C-X-X) is 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.

The goal of the Apache C++ Standard Library is to provide a free implementation of the ISO/IEC 14882 international standard for C++ that enables source code portability and consistent behavior of programs across all major hardware implementations, operating systems, and compilers, open source and commercial alike. An additional goal is to achieve maximum implementation efficiency on each platform by taking advantage of platform-specific high-performance facilities and features which are often unique to the type of hardware, the operating system or the compiler.

As the starting point for future efforts, in summer 2005 Rogue Wave Software has contributed its commercial implementation of the C++ Standard Library to the Apache stdcxx project, a proven code base that has been shipping for over a decade and is among the most widely used cross-platform implementations of the library.

The key features of the stdcxx project at the time of submission include:


  1. Full conformance to the C++ standard
  2. Complete implementation of the localization library independent of the underlying operating system, including a large set of locale definition files, character set description files, and utility programs to process these files and generate locale databases
  3. User control over strict or permissive conformance checking
  4. Thread-safe implementation of strings, iostreams, and locales
  5. Reference counted basic_string implementation using atomic locking with the ability to switch to a non-reference counted implementation
  6. Excellent runtime performance
  7. Optimized for fast compiles and extremely small executable file sizes
  8. Portable to and fully tested on a large set of operating systems, including AIX, HP-UX, Linux, Solaris, Windows, etc.
  9. Portable to most leading commercial as well as open source compilers
  10. Debugging facilities such as safe iterators, precondition and postcondition checking, and the ability to generate stack traces
  11. Fully documented configuration and build infrastructure
  12. Thorough, well-maintained documentation
  13. Ten years of deployment in the world's most critical enterprise systems

Popular posts from this blog

Putimage function in c

putimage function outputs a bit image onto the screen. Declaration:- void putimage(int left, int top, void *ptr, int op); putimage puts the bit image previously saved with getimage back onto the screen, with the upper left corner of the image placed at (left, top). ptr points to the area in memory where the source image is stored. The op argument specifies a operator that controls how the color for each destination pixel on screen is computed, based on pixel already on screen and the corresponding source pixel in memory. c smiling face animation This animation using c draws a smiling face which appears at random position on screen. See output below the code, it will help you in understanding the code easily. C programming code #include<graphics.h> #include<conio.h> #include<stdlib.h>   main() { int gd = DETECT, gm, area, temp1, temp2, left = 25, top = 75; void *p;   initgraph(&gd,&gm,"C:\\TC\\BGI");   setcolor(YELLOW)...

C++ Program to find the sum, difference, product and quotient of two integers

#include <iostream.h> #include <conio.h> void main() {   clrscr();   int x = 10;   int y = 2;   int sum, difference, product, quotient;   sum = x + y;   difference = x - y;   product = x * y;   quotient = x / y;   cout << "The sum of " << x << " & " << y << " is " << sum << "." << endl;   cout << "The difference of " << x << " & " << "y <<  is " << difference << "." << endl;   cout << "The product of " << x << " & " << y << " is " << product << "." << endl;   cout << "The quotient of " << x << " & " << y << " is " << quotient << "." << endl;   getch(); }

What is iostream.h in C++ Programing Language ?

In C++ programing language, all header files end with .H extension. In standard C++, all devices are accessed and used as a file.  One such header file is iostream.h in C++ programming language. In this, all input and output devices are treated as files.  Let's quickly look at what are the input and output devices mean in C++ program.  Standard Input Device - Keyboard  Standard Output Device   - Monitor  Standard Error Device - Screen or monitor In C++, input and output are not defined within, and are implemented with the help of a component of the C++ standard library which is I/O library.  A file is read simply as a stream of bytes at the lowest level. But at a user level, a file consists of possibly mixed data types which can be characters, arithmetic values class, objects etc.  What are the predefined streams in I/O Library? As discussed above there are input, output and error library in c++, they have some predefined streams objects as well w...