Hi all,

The review of Boost.Align by Glen Fernandes commences today, Friday, 11 April, and concludes Sunday, 20 April.

Boost.Align provides:
1. Function align() to align a pointer, for implementations which do not provide C++11's std::align().
2. Functions aligned_alloc() and aligned_free() for dynamic allocation with specified alignment. { For use in place of ::operator new() and ::operator delete(). }
3. Class template aligned_allocator as an alignment-aware allocator that also allows specifying a minimum alignment. { For use in place of std::allocator. }
4. Class template aligned_allocator_adaptor to turn any existing allocator into an alignment-aware allocator that also allows specifying a minimum alignment. { For use in place of any existing allocator type. }
5. Function is_aligned() to test the alignment of a pointer.

Rationale:
C++11 added the ability to specify increased alignment (over-alignment) for class types. Unfortunately, ::operator new allocation functions, new expressions, and the default allocator, std::allocator, do not support dynamic memory allocation of over-aligned data.

Notes:
This library also meets needs in existing Boost libraries.
- Boost.Smart_Ptr has its own implementation of align().
- Boost.Interprocess and Boost.Log each have their own implementation of aligned_alloc() and aligned_free().

Source:
doc: http://glenfe.github.io/align
git: http://github.com/glenfe/align
zip: http://github.com/glenfe/align/archive/master.zip

Please always state in your review whether you think the library should be accepted as a Boost library.

Additionally, please consider giving feedback on the following general topics:
- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any problems?
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
- Are you knowledgeable about the problem domain?

Ahmed Charles
Review Manager