TypedCounter

digraph InheritanceGraph { graph [bgcolor=transparent, color=lightsteelblue2, fontname=Arial, fontsize=10, outputorder=edgesfirst, overlap=prism, penwidth=2, rankdir=LR, splines=spline, style="dashed, rounded", truecolor=true]; node [colorscheme=pastel19, fontname=Arial, fontsize=10, height=0, penwidth=2, shape=box, style="filled, rounded", width=0]; edge [color=lightslategrey, penwidth=1]; subgraph "cluster_abjad.meter" { graph [label="abjad.meter"]; node [color=1]; "abjad.meter.OffsetCounter" [URL="../api/abjad/utilities/../meter.html#abjad.meter.OffsetCounter", label="Offset\nCounter", target=_top]; } subgraph "cluster_abjad.pitch" { graph [label="abjad.pitch"]; node [color=2]; "abjad.pitch.IntervalClassVector.IntervalClassVector" [URL="../api/abjad/utilities/../pitch/IntervalClassVector.html#abjad.pitch.IntervalClassVector.IntervalClassVector", label="Interval\nClass\nVector", target=_top]; "abjad.pitch.IntervalVector.IntervalVector" [URL="../api/abjad/utilities/../pitch/IntervalVector.html#abjad.pitch.IntervalVector.IntervalVector", label="Interval\nVector", target=_top]; "abjad.pitch.PitchClassVector.PitchClassVector" [URL="../api/abjad/utilities/../pitch/PitchClassVector.html#abjad.pitch.PitchClassVector.PitchClassVector", label="Pitch\nClass\nVector", target=_top]; "abjad.pitch.PitchVector.PitchVector" [URL="../api/abjad/utilities/../pitch/PitchVector.html#abjad.pitch.PitchVector.PitchVector", label="Pitch\nVector", target=_top]; "abjad.pitch.Vector.Vector" [URL="../api/abjad/utilities/../pitch/Vector.html#abjad.pitch.Vector.Vector", label=Vector, shape=oval, style=bold, target=_top]; "abjad.pitch.Vector.Vector" -> "abjad.pitch.IntervalClassVector.IntervalClassVector"; "abjad.pitch.Vector.Vector" -> "abjad.pitch.IntervalVector.IntervalVector"; "abjad.pitch.Vector.Vector" -> "abjad.pitch.PitchClassVector.PitchClassVector"; "abjad.pitch.Vector.Vector" -> "abjad.pitch.PitchVector.PitchVector"; } subgraph "cluster_abjad.system" { graph [label="abjad.system"]; node [color=3]; "abjad.system.AbjadObject.AbjadObject" [URL="../api/abjad/utilities/../system/AbjadObject.html#abjad.system.AbjadObject.AbjadObject", label="Abjad\nObject", target=_top]; } subgraph "cluster_abjad.utilities" { graph [label="abjad.utilities"]; node [color=4]; "abjad.utilities.TypedCollection.TypedCollection" [URL="../api/abjad/utilities/TypedCollection.html#abjad.utilities.TypedCollection.TypedCollection", label="Typed\nCollection", shape=oval, style=bold, target=_top]; "abjad.utilities.TypedCounter.TypedCounter" [URL="../api/abjad/utilities/TypedCounter.html#abjad.utilities.TypedCounter.TypedCounter", color=black, fontcolor=white, label="Typed\nCounter", target=_top]; "abjad.utilities.TypedCollection.TypedCollection" -> "abjad.utilities.TypedCounter.TypedCounter"; } subgraph cluster_builtins { graph [label=builtins]; node [color=5]; "builtins.object" [URL="https://docs.python.org/3.6/library/functions.html#object", label=object, target=_top]; } subgraph "cluster_collections.abc" { graph [label="collections.abc"]; node [color=6]; "collections.abc.Collection" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Collection", label=Collection, shape=oval, style=bold, target=_top]; "collections.abc.Container" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Container", label=Container, shape=oval, style=bold, target=_top]; "collections.abc.Iterable" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Iterable", label=Iterable, shape=oval, style=bold, target=_top]; "collections.abc.Mapping" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Mapping", label=Mapping, shape=oval, style=bold, target=_top]; "collections.abc.MutableMapping" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.MutableMapping", label="Mutable\nMapping", shape=oval, style=bold, target=_top]; "collections.abc.Sized" [URL="https://docs.python.org/3.6/library/collections.abc.html#collections.abc.Sized", label=Sized, shape=oval, style=bold, target=_top]; "collections.abc.Collection" -> "collections.abc.Mapping"; "collections.abc.Container" -> "collections.abc.Collection"; "collections.abc.Iterable" -> "collections.abc.Collection"; "collections.abc.Mapping" -> "collections.abc.MutableMapping"; "collections.abc.Sized" -> "collections.abc.Collection"; } "abjad.system.AbjadObject.AbjadObject" -> "abjad.utilities.TypedCollection.TypedCollection"; "abjad.utilities.TypedCounter.TypedCounter" -> "abjad.meter.OffsetCounter"; "abjad.utilities.TypedCounter.TypedCounter" -> "abjad.pitch.Vector.Vector"; "builtins.object" -> "abjad.system.AbjadObject.AbjadObject"; "builtins.object" -> "collections.abc.Container"; "builtins.object" -> "collections.abc.Iterable"; "builtins.object" -> "collections.abc.Sized"; "collections.abc.MutableMapping" -> "abjad.utilities.TypedCounter.TypedCounter"; }

class abjad.utilities.TypedCounter.TypedCounter(items=None, item_class=None, **keywords)

Typed counter.

>>> counter = abjad.TypedCounter(
...     [0, "c'", 1, True, "cs'", "df'"],
...     item_class=abjad.NumberedPitch,
...     )
>>> abjad.f(counter)
abjad.TypedCounter(
    {
        abjad.NumberedPitch(0): 2,
        abjad.NumberedPitch(1): 4,
        },
    item_class=abjad.NumberedPitch,
    )

Attributes Summary

__add__ Adds typed counter to argument.
__and__ Logical AND of typed counter and argument.
__delitem__ Deletes item from typed counter.
__getitem__ Gets item or slice identified by argument.
__or__ Logical OR of typed counter and argument.
__radd__ Adds argument to typed counter.
__setitem__ Sets typed counter item to value.
__sub__ Subtracts argument from typed counter.
clear Clears typed counter.
copy Copies typed counter.
elements Elements in typed counter.
items Items in typed counter.
keys Iterates keys in typed counter.
most_common Please document.
subtract Subtracts iterable from typed counter.
update Updates typed counter with iterable.
values Iterates values in typed counter.
viewitems Please document.
viewkeys Please document.
viewvalues Please document.

Special methods

__add__(argument)

Adds typed counter to argument.

Returns new typed counter.

__and__(argument)

Logical AND of typed counter and argument.

Returns new typed counter.

(TypedCollection).__contains__(item)

Is true when typed collection contains item.

Returns true or false.

__delitem__(item)

Deletes item from typed counter.

Returns none.

(TypedCollection).__eq__(argument)

Is true when argument is a typed collection with items that compare equal to those of this typed collection.

Returns true or false.

(AbjadObject).__format__(format_specification='')

Formats Abjad object.

Set format_specification to '' or 'storage'. Interprets '' equal to 'storage'.

Returns string.

__getitem__(argument)

Gets item or slice identified by argument.

Returns item or slice.

(TypedCollection).__hash__()

Hashes typed collection.

Redefined in tandem with __eq__.

(TypedCollection).__iter__()

Iterates typed collection.

Returns generator.

(TypedCollection).__len__()

Gets length of typed collection.

Returns nonnegative integer.

__or__(argument)

Logical OR of typed counter and argument.

Returns new typed counter.

__radd__(argument)

Adds argument to typed counter.

Returns new typed counter.

(AbjadObject).__repr__()

Gets interpreter representation of Abjad object.

Returns string.

__setitem__(item, value)

Sets typed counter item to value.

Returns none.

__sub__(argument)

Subtracts argument from typed counter.

Returns new typed counter.


Methods

clear()

Clears typed counter.

Returns none.

copy()

Copies typed counter.

Returns new typed counter.

elements()

Elements in typed counter.

(Mapping).get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items()

Items in typed counter.

Returns tuple.

keys()

Iterates keys in typed counter.

most_common(n=None)

Please document.

(MutableMapping).pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

(MutableMapping).popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

(MutableMapping).setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
subtract(iterable=None, **keywords)

Subtracts iterable from typed counter.

update(iterable=None, **keywords)

Updates typed counter with iterable.

values()

Iterates values in typed counter.

viewitems()

Please document.

viewkeys()

Please document.

viewvalues()

Please document.


Read-only properties

(TypedCollection).item_class

Gets item class of collection.

Collection coerces items according to item_class.

Returns class.