cstd
Version:
CoffeeScript Standart Library
649 lines (645 loc) • 16.5 kB
HTML
<html>
<head>
<meta charset='UTF-8'>
<title>CoffeeScript standarts</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='CSTD'>
CSTD
</a>
»
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
»
<span class='title'>Container</span>
</div>
</div>
<div id='content'>
<h1>
Class:
Container
<span class='note title'>Abstract</span>
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>lib/container.coffee</td>
</tr>
<tr>
<td>Inherits:</td>
<td>
<a href='../class/CSObject.html'>CSObject</a>
</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<div class='abstract note'>
<strong>
This
class
is abstract.
</strong>
</div>
<p>Контейнер, сущность для групировки, доступа и
обработки других сущностей.
@class Container</p>
</div>
<div class='tags'>
</div>
<h2>Direct Known Subclasses</h2>
<p class='children'>
<a href='../class/Deque.html'>Deque</a>
<a href='../class/Queue.html'>Queue</a>
<a href='../class/Stack.html'>Stack</a>
</p>
<h2>Class Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#isContainer-static'>
.
(Boolean)
<b>isContainer</b><span>(object)</span>
</a>
</span>
<span class='desc'>
Проверяет является ли <code>object</code> контейнером
</span>
</li>
<li>
<span class='signature'>
<a href='#fromJSON-static'>
.
(extend Container|Error|TypeError)
<b>fromJSON</b><span>(data, quiet = false)</span>
</a>
</span>
<span class='desc'>
Создаёт контейнер на основе JSON-объекта <code>data</code> и не отбрасывает ошибок, если <code>quiet</code> выставлно в <code>yes</code>
</span>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#copy-dynamic'>
#
(extends Container)
<b>copy</b><span>(arrayStrategy)</span>
</a>
</span>
<span class='desc'>
Копирует объект с сохранением всех ссылок и значений в узлах
</span>
</li>
<li>
<span class='signature'>
<a href='#values-dynamic'>
#
(Array<*>)
<b>values</b><span>()</span>
</a>
</span>
<span class='desc'>
возвращает значения в узлах контейнера в виде массива начиная с начала контейнера
</span>
</li>
<li>
<span class='signature'>
<a href='#has-dynamic'>
#
(Boolean)
<b>has</b><span>(some)</span>
</a>
</span>
<span class='desc'>
Определяет, находится ли сущность <code>some</code> хотя бы в одном из узлов.
</span>
</li>
<li>
<span class='signature'>
<a href='#toString-dynamic'>
#
(String)
<b>toString</b><span>()</span>
</a>
</span>
<span class='desc'>
Создаёт строчное предтсавления контейнера.
</span>
</li>
<li>
<span class='signature'>
<a href='#toJSON-dynamic'>
#
(Object< type:String, data:Array<*> >)
<b>toJSON</b><span>()</span>
</a>
</span>
<span class='desc'>
<p>Преобразует контейнер в объектное представление, которое можно конвертировать в JSON-строку
имя контейнера в <code>type</code> и в <code>data</code> значения в виде массива</p>
</span>
</li>
<li>
<span class='signature'>
<a href='#destructor-dynamic'>
#
(null)
<b>destructor</b><span>()</span>
</a>
</span>
<span class='desc'>
Разрушает контейнер: требует определение в каждом классе своё @abstarct
</span>
</li>
</ul>
<h2>
<small>Inherited Method Summary</small>
<h3 class='inherited'>
Methods inherited from
<a href='../class/CSObject.html'>CSObject</a>
</h3>
<p class='inherited'>
<a href='../class/CSObject.html#destructor-dynamic'>#destructor</a>
</p>
</h2>
<h2>Class Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='isContainer-static'>
.
(Boolean)
<b>isContainer</b><span>(object)</span>
<br>
</p>
<div class='docstring'>
<p>Проверяет является ли <code>object</code> контейнером</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>object</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>проверяемая сущность </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если аргументов не 1 </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Boolean</tt>
)
—
<span class='desc'>является или нет </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='fromJSON-static'>
.
(extend Container|Error|TypeError)
<b>fromJSON</b><span>(data, quiet = false)</span>
<br>
</p>
<div class='docstring'>
<p>Создаёт контейнер на основе JSON-объекта <code>data</code> и не отбрасывает
ошибок, если <code>quiet</code> выставлно в <code>yes</code></p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>data</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>объект для строительства </span>
</li>
<li>
<span class='name'>quiet</span>
<span class='type'>
(
<tt>Boolean</tt>
)
</span>
—
<span class='desc'>возвращать ли ошибки вметсо их отбрсывания </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если аргументов не 1 и не 2 </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если <code>data</code> не объект и/или quiet не булево </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если нарушен формат <code>data</code> </span>
</li>
<li>
<span class='type'></span>
(
<tt>Error</tt>
)
—
<span class='desc'>если метод <code>fromArray</code> не определён в потомке </span>
</li>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если имя потомка и имя в <code>data</code> не совпали </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>extend Container|Error|TypeError</tt>
)
—
<span class='desc'>сооружение или ошибку, при включенном <code>quiet</code> и возникновении ошибки </span>
</li>
</ul>
</div>
</div>
</div>
<h2>Constructor Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='constructor-dynamic'>
#
(void)
<b>constructor</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Создаёт контейнер, инициализирует все свойства</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если пытаются создать объект абстрктного класса </span>
</li>
</ul>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='copy-dynamic'>
#
(extends Container)
<b>copy</b><span>(arrayStrategy)</span>
<br>
</p>
<div class='docstring'>
<p>Копирует объект с сохранением всех ссылок и значений в узлах</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>arrayStrategy</span>
<span class='type'>
(
<tt>Boolean</tt>
)
</span>
—
<span class='desc'>использовать прикопировании создание массива и передачу его в функцию <code>fromArray</code> <code>[default = no]</code>. По идее параметр <code>arrayStrategy</code> для внутреннего пользования, но как знать, может кому поможет... </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>typeError</tt>
)
—
<span class='desc'>если аргументов > 1 или если это не булево значение </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>extends Container</tt>
)
—
<span class='desc'>унаследованные от контейнера классы в которых вызван метод </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='values-dynamic'>
#
(Array<*>)
<b>values</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>возвращает значения в узлах контейнера в виде массива начиная с начала
контейнера</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если переданы аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Array<*></tt>
)
—
<span class='desc'>массив значений узлов </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='has-dynamic'>
#
(Boolean)
<b>has</b><span>(some)</span>
<br>
</p>
<div class='docstring'>
<p>Определяет, находится ли сущность <code>some</code> хотя бы в одном из узлов.
Сложность О(n)</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>some</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>искомая сущность </span>
</li>
</ul>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если аргументов не 1 </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Boolean</tt>
)
—
<span class='desc'>есть ли значение в хотя бы одном из узлов </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toString-dynamic'>
#
(String)
<b>toString</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Создаёт строчное предтсавления контейнера. Между элементами расставляет
-> для односвязанных списков и <-> для двусвязанных.</p>
</div>
<div class='tags'>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>String</tt>
)
—
<span class='desc'>проекция контейнера на строку </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='toJSON-dynamic'>
#
(Object< type:String, data:Array<*> >)
<b>toJSON</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Преобразует контейнер в объектное представление, которое можно
конвертировать в JSON-строку
имя контейнера в <code>type</code> и в <code>data</code> значения в виде массива</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если есть аргументы </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
<tt>Object< type:String, data:Array<*> ></tt>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='destructor-dynamic'>
#
(null)
<b>destructor</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Разрушает контейнер: требует определение в каждом классе своё
@abstarct</p>
</div>
<div class='tags'>
<h3>Throws:</h3>
<ul class='throw'>
<li>
<span class='type'></span>
(
<tt>TypeError</tt>
)
—
<span class='desc'>если не определен метод в потомке </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
<tt>null</tt>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id='footer'>
By
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.1.0
✲
Press H to see the keyboard shortcuts
✲
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
✲
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>