BVB Source Codes

mars Show align.hpp Source code

Return Download mars: download align.hpp Source code - Download mars Source code - Type:.hpp
  1. /*
  2. (c) 2014 Glen Joseph Fernandes
  3. <glenjofe -at- gmail.com>
  4.  
  5. Distributed under the Boost Software
  6. License, Version 1.0.
  7. http://boost.org/LICENSE_1_0.txt
  8. */
  9. #ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP
  10. #define BOOST_ALIGN_DETAIL_ALIGN_HPP
  11.  
  12. #include <boost/assert.hpp>
  13. #include <boost/align/detail/address.hpp>
  14. #include <boost/align/detail/is_alignment.hpp>
  15. #include <cstddef>
  16.  
  17. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost {
  18. namespace alignment {
  19.  
  20. inline void* align(std::size_t alignment, std::size_t size,
  21.     void*& ptr, std::size_t& space)
  22. {
  23.     BOOST_ASSERT(detail::is_alignment(alignment));
  24.     std::size_t n = detail::address(ptr) & (alignment - 1);
  25.     if (n != 0) {
  26.         n = alignment - n;
  27.     }
  28.     void* p = 0;
  29.     if (n <= space && size <= space - n) {
  30.         p = static_cast<char*>(ptr) + n;
  31.         ptr = p;
  32.         space -= n;
  33.     }
  34.     return p;
  35. }
  36.  
  37. } /* .alignment */
  38. } /* .boost */
  39.  
  40. #endif
  41.  
downloadalign.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top