using c_string = std::unique_ptr< char, c_deleter >protected_scm()get() const -> const SCM &get() -> SCM &operator SCM() constoperator SCM()swap(protected_scm & rhs) -> voidoperator=(SCM rhs) -> protected_scm &operator=(protected_scm && rhs) -> protected_scm &operator=(const protected_scm & rhs) -> protected_scm &protected_scm(protected_scm && rhs)~protected_scm()protected_scm(SCM value)protected_scm(const protected_scm & rhs)object_read(kernel_buffer & buffer, SCM & result) -> voidobject_write(kernel_buffer & buffer, SCM object) -> void