boostorg / compute

A C++ GPU Computing Library for OpenCL
http://boostorg.github.io/compute/
Boost Software License 1.0
1.52k stars 333 forks source link

remove the redundant copy when move item to the front of the lru list in lru_cache.hpp #870

Open faker2048 opened 2 years ago

faker2048 commented 2 years ago

std::list<T,Allocator>::splice is the helper for to move list element in constant complexity.

Complexity 1-2) Constant. 3) Constant if other refers to the same object as *this, otherwise linear in std::distance(first, last).

Ref: https://en.cppreference.com/w/cpp/container/list/splice