[#bsl-_Slist_base]
= xref:bsl.adoc[bsl]::&lowbar;Slist&lowbar;base
:relfileprefix: ../
:mrdocs:

Allocator&hyphen;aware base that owns the sentinel head node of an `slist`&period;

== Synopsis

Declared in `&lt;bslstp&lowbar;slist&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class &lowbar;Tp,
    class &lowbar;Alloc&gt;
struct &lowbar;Slist&lowbar;base;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/_Slist_base/_Node.adoc[`&lowbar;Node`] 
| Node type storing an element of type `&lowbar;Tp`&period;
| xref:bsl/_Slist_base/allocator_type.adoc[`allocator&lowbar;type`] 
| Allocator type for element values&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/_Slist_base/2constructor.adoc[`&lowbar;Slist&lowbar;base`]         [.small]#[constructor]#
| Create an empty base using the specified allocator&period;
| xref:bsl/_Slist_base/2destructor.adoc[`&#126;&lowbar;Slist&lowbar;base`] [.small]#[destructor]#
| Destroy all nodes owned by this base&period;
| xref:bsl/_Slist_base/get_allocator.adoc[`get&lowbar;allocator`] 
| Return the allocator used by this base&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:bsl/_Slist_base/_M_head.adoc[`&lowbar;M&lowbar;head`] 
| Sentinel head proxy holding the allocator and next&hyphen;pointer&period;
|===


== Protected Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:bsl/_Slist_base/_M_node_allocator_type.adoc[`&lowbar;M&lowbar;node&lowbar;allocator&lowbar;type`] 
| Allocator type used to allocate `&lowbar;Node` objects&period;
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:bsl/_Slist_base/_M_erase_after-08.adoc[`&lowbar;M&lowbar;erase&lowbar;after`] 
| `&lowbar;M&lowbar;erase&lowbar;after` overloads
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
