mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-19 09:35:15 -04:00
Fix memclr optimization
This commit is contained in:
parent
17c76c2013
commit
7a027cab18
@ -169,7 +169,7 @@ void fill(ForwardIterator first, ForwardIterator last, const T& value){
|
|||||||
* \param count The number of elements
|
* \param count The number of elements
|
||||||
* \param value The value to write
|
* \param value The value to write
|
||||||
*/
|
*/
|
||||||
template<typename ForwardIterator, typename T, std::enable_if_t<!std::has_trivial_assign<typename std::iterator_traits<ForwardIterator>::value_type>::value, int> = 42>
|
template<typename ForwardIterator, typename T, std::enable_if_t<!(std::is_integral<typename std::iterator_traits<ForwardIterator>::value_type>::value && is_integral<T>::value), int> = 42>
|
||||||
void fill_n(ForwardIterator first, size_t count, const T& value){
|
void fill_n(ForwardIterator first, size_t count, const T& value){
|
||||||
if(count > 0){
|
if(count > 0){
|
||||||
*first = value;
|
*first = value;
|
||||||
@ -187,7 +187,7 @@ void fill_n(ForwardIterator first, size_t count, const T& value){
|
|||||||
* \param count The number of elements
|
* \param count The number of elements
|
||||||
* \param value The value to write
|
* \param value The value to write
|
||||||
*/
|
*/
|
||||||
template<typename ForwardIterator, typename T, std::enable_if_t<std::has_trivial_assign<typename std::iterator_traits<ForwardIterator>::value_type>::value, int> = 42>
|
template<typename ForwardIterator, typename T, std::enable_if_t<std::is_integral<typename std::iterator_traits<ForwardIterator>::value_type>::value && is_integral<T>::value, int> = 42>
|
||||||
void fill_n(ForwardIterator first, size_t count, const T& value){
|
void fill_n(ForwardIterator first, size_t count, const T& value){
|
||||||
if(!value){
|
if(!value){
|
||||||
memclr(reinterpret_cast<char*>(first), count * sizeof(decltype(*first)));
|
memclr(reinterpret_cast<char*>(first), count * sizeof(decltype(*first)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user