Apache C++ Standard Library User's Guide

## 1.3 Usage Notes

### 1.3.1 Compatibility Issues

This implementation of the C++ Standard Library conforms to ISO/IEC 14882:2003 -- International Standard for Information Systems -- Programming Language C++. This release is source compatible with previous 2.x implementations.

1.x implementations of the library were based on ANSI's Working Paper for Draft Proposed International Standard for Information Systems -- Programming Language C++. The draft standard differs from the final standard in some areas. As a result, source written to 1.x implementations of the library will be incompatible with this implementation in these areas. See the readme file for details.

Please note that some compiler and library vendors have not yet implemented the whole range of language features defined by the ANSI/ISO standard.

> NOTE -- The C++ Standard Library is not yet fully implemented by all compilers. You may experience difficulty if you attempt to use features of the library that are unsupported by your compiler.

In the User's Guide, we draw your attention to places in the code where this might be a problem. If your vendor is still in the process of meeting the standard, some of the techniques demonstrated in this User's Guide may not work. We include them anyway to demonstrate the full range of capabilities of the standard C++ language. Compilers will catch up, and this guide will be more useful to you if it is as complete as possible.

### 1.3.2 The std Namespace

Everything in the Apache C++ Standard Library is contained in the `std` namespace. You must specify a `using` directive or explicitly scope any name from the library.

To use the vector class, for example, you could include one of the following `using` directives:

    using namespace std;       // Brings all names from std
                               // into current scope.

    using std::vector;         // Brings vector into
                               // current scope.

or explicitly scope vector whenever it is used:

    std::vector<int> v;

> NOTE -- To enhance this manual's readability, namespace scoping is usually omitted in the text. You should assume that everything in the Apache C++ Standard Library is scoped in namespace `std` unless otherwise stated.