Boost logo

Boost Users :

Subject: Re: [Boost-users] boost::intrusive::slist push_back() => error: static assertion failed: (cache_last)
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2015-05-09 13:35:36


El 09/05/2015 a las 12:12, Jonas Printzén escribió:
> Hi All! First post...
>
> Attempt switching to intrusive slist for efficiency, the following
> example is
> simply cut-paste from docs. Won't compile! g++ 4.9.1 complains as
> inlined in code below.

Which docs? I can't see int64_t anywhere in the docs.

The issue is that you are using a singly linked list, which typically
only can push at front. Only if you use the "cache_last" option the
singly linked lists stores a pointer to the last element which allows
push_back. From push_back comments:

//! <b>Note</b>: Does not affect the validity of iterators and references.
//! This function is only available is cache_last<> is true.

Since cache_last option is not active the implementation static_asserts
as push_back can't be implemented.

Ion


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net