/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright 2018 Danny Robson */ #ifndef CRUFT_UTIL_ALLOC_RAW_TRAITS_HPP #define CRUFT_UTIL_ALLOC_RAW_TRAITS_HPP #include namespace cruft::alloc::raw { template > struct has_aligned_allocate : std::false_type {}; template struct has_aligned_allocate< AllocT, std::void_t< decltype ( std::declval ().allocate(16, 16) ) > >: public std::true_type {}; template constexpr auto has_aligned_allocate_v = has_aligned_allocate::value; }; #endif