about summary refs log tree commit diff
path: root/third_party/immer/extra/guile/scm/list.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/immer/extra/guile/scm/list.hpp')
-rw-r--r--third_party/immer/extra/guile/scm/list.hpp54
1 files changed, 0 insertions, 54 deletions
diff --git a/third_party/immer/extra/guile/scm/list.hpp b/third_party/immer/extra/guile/scm/list.hpp
deleted file mode 100644
index dc162c200244..000000000000
--- a/third_party/immer/extra/guile/scm/list.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// immer: immutable data structures for C++
-// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente
-//
-// This software is distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
-//
-
-#pragma once
-
-#include <scm/val.hpp>
-#include <iostream>
-
-namespace scm {
-
-struct list : detail::wrapper
-{
-    using base_t = detail::wrapper;
-    using base_t::base_t;
-
-    using iterator = list;
-    using value_type = val;
-
-    list() : base_t{SCM_EOL} {};
-    list end() const { return {}; }
-    list begin() const { return *this; }
-
-    explicit operator bool() { return handle_ != SCM_EOL; }
-
-    val operator* () const { return val{scm_car(handle_)}; }
-
-    list& operator++ ()
-    {
-        handle_ = scm_cdr(handle_);
-        return *this;
-    }
-
-    list operator++ (int)
-    {
-        auto result = *this;
-        result.handle_ = scm_cdr(handle_);
-        return result;
-    }
-};
-
-struct args : list
-{
-    using list::list;
-};
-
-} // namespace scm
-
-SCM_DECLARE_WRAPPER_TYPE(scm::list);
-SCM_DECLARE_WRAPPER_TYPE(scm::args);