Add cpp_file

This commit is contained in:
Jonathan Müller 2017-01-20 23:21:19 +01:00
commit 170c4045e2
6 changed files with 91 additions and 8 deletions

View file

@ -16,9 +16,6 @@ namespace cppast
{
namespace detail
{
template <typename T>
class intrusive_list;
template <typename T>
class intrusive_list_node
{
@ -103,7 +100,8 @@ namespace cppast
T* cur_;
friend intrusive_list<T>;
template <typename U>
friend class intrusive_list;
};
template <typename T>
@ -115,12 +113,12 @@ namespace cppast
//=== modifiers ===//
void push_back(std::unique_ptr<T> obj) noexcept
{
DEBUG_ASSERT(obj, detail::assert_handler{});
DEBUG_ASSERT(obj != nullptr, detail::assert_handler{});
if (last_)
{
auto ptr = intrusive_list_access<T>::set_next(last_.value(), std::move(obj));
last_ = type_safe::opt_cref(ptr);
last_ = *ptr;
}
else
{