class_docstr: Cycle through values by yield them one at a time, then restarting
  once the end is reached. Available as ``cycler`` in templates.
  
  Similar to ``loop.cycle``, but can be used outside loops or across
  multiple loops. For example, render a list of folders and files in a
  list, alternating giving them "odd" and "even" classes.
  
  .. code-block:: html+jinja
  
      {% set row_class = cycler("odd", "even") %}
      <ul class="browser">
      {% for folder in folders %}
        <li class="folder {{ row_class.next() }}">{{ folder }}
      {% endfor %}
      {% for file in files %}
        <li class="file {{ row_class.next() }}">{{ file }}
      {% endfor %}
      </ul>
  
  :param items: Each positional argument will be yielded in the order
      given for each cycle.
  
  .. versionadded:: 2.1
class_docstr_tok: ["Cycle","through","values","by","yield","them","one","at","a","time",",","then","restarting","once","the","end","is","reached",".","Available","as","``","cycler","``","in","templates",".","Similar","to","``","loop.cycle","``",",","but","can","be","used","outside","loops","or","across","multiple","loops",".","For","example",",","render","a","list","of","folders","and","files","in","a","list",",","alternating","giving","them","``","odd","''","and","``","even","''","classes",".","..","code-block",":",":","html+jinja","{","%","set","row_class","=","cycler","(","``","odd","''",",","``","even","''",")","%","}","<","ul","class=","''","browser","''",">","{","%","for","folder","in","folders","%","}","<","li","class=","''","folder","{","{","row_class.next","(",")","}","}","''",">","{","{","folder","}","}","{","%","endfor","%","}","{","%","for","file","in","files","%","}","<","li","class=","''","file","{","{","row_class.next","(",")","}","}","''",">","{","{","file","}","}","{","%","endfor","%","}","<","\/ul",">",":","param","items",":","Each","positional","argument","will","be","yielded","in","the","order","given","for","each","cycle",".","..","versionadded",":",":","2.1"]
docstr: Return the current item. Equivalent to the item that will be
  returned next time :meth:`next` is called.
docstr_tok: ["Return","the","current","item",".","Equivalent","to","the","item","that","will","be","returned","next","time",":","meth",":","`","next","`","is","called","."]
code: def current(self) -> t.Any:
      """Return the current item. Equivalent to the item that will be
      returned next time :meth:`next` is called.
      """
      return self.items[self.pos]
  
imports: import enum
  import json
  import os
  import re
  import typing
  from collections import abc
  from collections import deque
  from random import choice
  from random import randrange
  from threading import Lock
  from types import CodeType
  from urllib.parse import quote_from_bytes
  import markupsafe
label_desc: Use image node_id 3 for calling the Cycler obj's underlying member method code with example usage: obj.current() and returns: self