25.1. Introduction25.2. Motivation25.3. getenv(), putenv(), setenv()/unsetenv(), and environ25.4. platformstl::environment_variable_traits25.5. Planning the Interface25.6. Lookup by Name25.6.1. Option 1: Return a Fixed/Transient Reference to a Cached Object with an Up-to-Date Value25.6.2. Option 2: Return a Fixed Reference to a Cached Object with a Snapshot Value25.6.3. Option 3: Return a Fixed Reference to a Cached Object with an Up-to-Date Value25.6.4. Option 4: Return a By-Value Temporary Reference with an Up-to-Date Value25.6.5. Lookup by Name: Coda25.7. Inserting, Updating, and Deleting Values by Name25.8. Iteration25.8.1. Version 1: Contiguous Iterator25.8.2. Version 2: Bidirectional Iterator25.8.3. Version 3: Snapshot25.8.4. Version 4: Reference-Counted Snapshot25.9. Final Iteration Implementation25.9.1. Mutable Snapshot?25.9.2. Creating the Snapshot25.9.3. const_iterator Nested Class25.9.4. insert() Method25.9.5. erase() Method25.9.6. operator []() and lookup()25.9.7. snapshot Nested Class25.10. Heterogeneous Reference Categories?25.11. size() and Subscript by Index25.12. Summary25.13. On the CD