!_TAG_EXTRA_DESCRIPTION	anonymous	/Include tags for non-named objects like lambda/
!_TAG_EXTRA_DESCRIPTION	fileScope	/Include tags of file scope/
!_TAG_EXTRA_DESCRIPTION	pseudo	/Include pseudo tags/
!_TAG_EXTRA_DESCRIPTION	subparser	/Include tags generated by subparsers/
!_TAG_FIELD_DESCRIPTION	epoch	/the last modified time of the input file (only for F\/file kind tag)/
!_TAG_FIELD_DESCRIPTION	file	/File-restricted scoping/
!_TAG_FIELD_DESCRIPTION	input	/input file/
!_TAG_FIELD_DESCRIPTION	name	/tag name/
!_TAG_FIELD_DESCRIPTION	pattern	/pattern/
!_TAG_FIELD_DESCRIPTION	typeref	/Type and name of a variable or typedef/
!_TAG_FIELD_DESCRIPTION!C++	name	/aliased names/
!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/
!_TAG_KIND_DESCRIPTION!C++	M,module	/modules/
!_TAG_KIND_DESCRIPTION!C++	P,partition	/partitions/
!_TAG_KIND_DESCRIPTION!C++	c,class	/classes/
!_TAG_KIND_DESCRIPTION!C++	d,macro	/macro definitions/
!_TAG_KIND_DESCRIPTION!C++	e,enumerator	/enumerators (values inside an enumeration)/
!_TAG_KIND_DESCRIPTION!C++	f,function	/function definitions/
!_TAG_KIND_DESCRIPTION!C++	g,enum	/enumeration names/
!_TAG_KIND_DESCRIPTION!C++	h,header	/included header files/
!_TAG_KIND_DESCRIPTION!C++	m,member	/class, struct, and union members/
!_TAG_KIND_DESCRIPTION!C++	n,namespace	/namespaces/
!_TAG_KIND_DESCRIPTION!C++	s,struct	/structure names/
!_TAG_KIND_DESCRIPTION!C++	t,typedef	/typedefs/
!_TAG_KIND_DESCRIPTION!C++	u,union	/union names/
!_TAG_KIND_DESCRIPTION!C++	v,variable	/variable definitions/
!_TAG_KIND_DESCRIPTION!Make	I,makefile	/makefiles/
!_TAG_KIND_DESCRIPTION!Make	m,macro	/macros/
!_TAG_KIND_DESCRIPTION!Make	t,target	/targets/
!_TAG_OUTPUT_EXCMD	mixed	/number, pattern, mixed, or combineV2/
!_TAG_OUTPUT_FILESEP	slash	/slash or backslash/
!_TAG_OUTPUT_MODE	u-ctags	/u-ctags or e-ctags/
!_TAG_OUTPUT_VERSION	0.0	/current.age/
!_TAG_PARSER_VERSION!C++	1.1	/current.age/
!_TAG_PARSER_VERSION!Make	1.1	/current.age/
!_TAG_PATTERN_LENGTH_LIMIT	96	/0 for no limit/
!_TAG_PROC_CWD	/home/mkretz/src/26-CPP/assets/mandel/	//
!_TAG_PROGRAM_AUTHOR	Universal Ctags Team	//
!_TAG_PROGRAM_NAME	Universal Ctags	/Derived from Exuberant Ctags/
!_TAG_PROGRAM_URL	https://ctags.io/	/official site/
!_TAG_PROGRAM_VERSION	6.1.0	//
!_TAG_ROLE_DESCRIPTION!C++!header	exported	/exported with "exported imported ..."/
!_TAG_ROLE_DESCRIPTION!C++!header	imported	/imported with "imported ..."/
!_TAG_ROLE_DESCRIPTION!C++!header	local	/local header/
!_TAG_ROLE_DESCRIPTION!C++!header	system	/system header/
!_TAG_ROLE_DESCRIPTION!C++!macro	undef	/undefined/
!_TAG_ROLE_DESCRIPTION!C++!module	imported	/imported with "imported ..."/
!_TAG_ROLE_DESCRIPTION!C++!module	partOwner	/used for specifying a partition/
!_TAG_ROLE_DESCRIPTION!C++!partition	imported	/imported with "imported ..."/
!_TAG_ROLE_DESCRIPTION!Make!makefile	included	/included/
!_TAG_ROLE_DESCRIPTION!Make!makefile	optional	/optionally included/
Image	image.h	/^  Image(int width, int height) : pixels(width * height + 64), w(width), h(height) {}$/;"	f	class:Image
Image	image.h	/^class Image$/;"	c
Pixel	image.h	/^using Pixel = std::uint32_t;$/;"	t	typeref:typename:std::uint32_t
PixelVector	image.h	/^  using PixelVector = std::vector<Pixel>;$/;"	t	class:Image	typeref:typename:std::vector<Pixel>
TSC_H_	tsc.h	/^#define TSC_H_$/;"	d
__anon3b5b11db0102	main.cpp	/^  auto info = [&](std::string_view text, const auto&... more) {$/;"	f	function:main	file:
all	Makefile	/^all: mandel full.ppm part1.ppm part2.ppm$/;"	t
allocator_type	image.h	/^  using allocator_type = typename PixelVector::allocator_type;$/;"	t	class:Image	typeref:typename:PixelVector::allocator_type
archives	Makefile	/^archives: mandelbrot.zip mandelbrot.tar.gz$/;"	t
back	image.h	/^  const_reference back() const { return pixels.back(); }$/;"	f	class:Image	typeref:typename:const_reference
back	image.h	/^  reference back() { return pixels.back(); }$/;"	f	class:Image	typeref:typename:reference
begin	image.h	/^  const_iterator begin() const { return pixels.begin(); }$/;"	f	class:Image	typeref:typename:const_iterator
begin	image.h	/^  iterator begin() { return pixels.begin(); }$/;"	f	class:Image	typeref:typename:iterator
cbegin	image.h	/^  const_iterator cbegin() const { return pixels.cbegin(); }$/;"	f	class:Image	typeref:typename:const_iterator
cend	image.h	/^  const_iterator cend() const { return pixels.cbegin() + (w * h); }$/;"	f	class:Image	typeref:typename:const_iterator
chrono	tsc.h	/^    float chrono;$/;"	m	struct:time_stamp_counter::speedup	typeref:typename:float
clean	Makefile	/^clean:$/;"	t
const_iterator	image.h	/^  using const_iterator = typename PixelVector::const_iterator;$/;"	t	class:Image	typeref:typename:PixelVector::const_iterator
const_pointer	image.h	/^  using const_pointer = typename PixelVector::const_pointer;$/;"	t	class:Image	typeref:typename:PixelVector::const_pointer
const_reference	image.h	/^  using const_reference = typename PixelVector::const_reference;$/;"	t	class:Image	typeref:typename:PixelVector::const_reference
cycles	tsc.h	/^    float cycles;$/;"	m	struct:time_stamp_counter::speedup	typeref:typename:float
cycles	tsc.h	/^  uint64_t cycles() const { return end_tsc - start_tsc; }$/;"	f	class:time_stamp_counter	typeref:typename:uint64_t
data	image.h	/^  const_pointer data() const { return pixels.data(); }$/;"	f	class:Image	typeref:typename:const_pointer
data	image.h	/^  pointer data() { return pixels.data(); }$/;"	f	class:Image	typeref:typename:pointer
difference_type	image.h	/^  using difference_type = typename PixelVector::difference_type;$/;"	t	class:Image	typeref:typename:PixelVector::difference_type
duration	tsc.h	/^  std::chrono::duration<float, std::milli> duration() const$/;"	f	class:time_stamp_counter	typeref:typename:std::chrono::duration<float,std::milli>
end	image.h	/^  const_iterator end() const { return pixels.begin() + (w * h); }$/;"	f	class:Image	typeref:typename:const_iterator
end	image.h	/^  iterator end() { return pixels.begin() + (w * h); }$/;"	f	class:Image	typeref:typename:iterator
end_time	tsc.h	/^  std::chrono::steady_clock::time_point start_time, end_time;$/;"	m	class:time_stamp_counter	typeref:typename:std::chrono::steady_clock::time_point
end_tsc	tsc.h	/^  uint64_t start_tsc, end_tsc;$/;"	m	class:time_stamp_counter	typeref:typename:uint64_t
floatv	mandelbrot.h	/^using floatv = simd::vec<float>;$/;"	t	typeref:typename:simd::vec<float>
from_chars	main.cpp	/^from_chars(std::string_view s, T& value)$/;"	f	typeref:typename:auto
front	image.h	/^  const_reference front() const { return pixels.front(); }$/;"	f	class:Image	typeref:typename:const_reference
front	image.h	/^  reference front() { return pixels.front(); }$/;"	f	class:Image	typeref:typename:reference
full.ppm	Makefile	/^full.ppm: mandel$/;"	t
h	image.h	/^  int w, h;$/;"	m	class:Image	typeref:typename:int
height	image.h	/^  int height() const noexcept { return h; }$/;"	f	class:Image	typeref:typename:int
help	Makefile	/^help:$/;"	t
imag	mycomplex.h	/^  T real, imag;$/;"	m	class:mycomplex	typeref:typename:T
iterator	image.h	/^  using iterator = typename PixelVector::iterator;$/;"	t	class:Image	typeref:typename:PixelVector::iterator
line	image.h	/^  const_pointer line(int y) const { return pixels.data() + y * w; }$/;"	f	class:Image	typeref:typename:const_pointer
line	image.h	/^  pointer line(int y) { return pixels.data() + y * w; }$/;"	f	class:Image	typeref:typename:pointer
main	main.cpp	/^int main(int argc, char **args_ptr)$/;"	f	typeref:typename:int
mandel	Makefile	/^mandel: main.cpp *.h Makefile$/;"	t
mandelbrot	mandelbrot.h	/^Image mandelbrot(unsigned max_iterations, float x0, float y0, const float h)$/;"	f	typeref:typename:Image
mandelbrot.tar.gz	Makefile	/^mandelbrot.tar.gz: main.cpp *.h Makefile$/;"	t
mandelbrot.zip	Makefile	/^mandelbrot.zip: main.cpp *.h Makefile$/;"	t
mycomplex	mycomplex.h	/^  mycomplex(T r, T i) : real(r), imag(i) {}$/;"	f	class:mycomplex
mycomplex	mycomplex.h	/^template <typename T> class mycomplex$/;"	c
norm	mycomplex.h	/^  friend constexpr T norm(const mycomplex &x)$/;"	f	typeref:typename:T
operator *	mycomplex.h	/^  friend constexpr mycomplex operator*(const mycomplex &a, const mycomplex &b)$/;"	f	typeref:typename:mycomplex
operator +	mycomplex.h	/^  constexpr mycomplex operator+() const { return *this; }$/;"	f	class:mycomplex	typeref:typename:mycomplex
operator +	mycomplex.h	/^  friend constexpr mycomplex operator+(const mycomplex &a, const mycomplex &b)$/;"	f	typeref:typename:mycomplex
operator -	mycomplex.h	/^  constexpr mycomplex operator-() const { return {-real, -imag}; }$/;"	f	class:mycomplex	typeref:typename:mycomplex
operator /	tsc.h	/^  friend speedup operator\/(const time_stamp_counter &reference,$/;"	f	typeref:typename:speedup
operator <<	tsc.h	/^    friend std::ostream &operator<<(std::ostream &out, const speedup &s)$/;"	f	class:time_stamp_counter	typeref:typename:std::ostream &
operator <<	tsc.h	/^  friend std::ostream &operator<<(std::ostream &out, const time_stamp_counter &tsc)$/;"	f	typeref:typename:std::ostream &
operator []	image.h	/^  const_reference operator[](int x, int y) const { return pixels[x + y * w]; }$/;"	f	class:Image	typeref:typename:const_reference
operator []	image.h	/^  reference operator[](int x, int y) { return pixels[x + y * w]; }$/;"	f	class:Image	typeref:typename:reference
part1.ppm	Makefile	/^part1.ppm: mandel$/;"	t
part2.ppm	Makefile	/^part2.ppm: mandel$/;"	t
pixels	image.h	/^  PixelVector pixels;$/;"	m	class:Image	typeref:typename:PixelVector
pointer	image.h	/^  using pointer = typename PixelVector::pointer;$/;"	t	class:Image	typeref:typename:PixelVector::pointer
real	mycomplex.h	/^  T real, imag;$/;"	m	class:mycomplex	typeref:typename:T
reference	image.h	/^  using reference = typename PixelVector::reference;$/;"	t	class:Image	typeref:typename:PixelVector::reference
size	image.h	/^  size_type size() const noexcept { return w * h; }$/;"	f	class:Image	typeref:typename:size_type
size_type	image.h	/^  using size_type = typename PixelVector::size_type;$/;"	t	class:Image	typeref:typename:PixelVector::size_type
speedup	tsc.h	/^  struct speedup {$/;"	s	class:time_stamp_counter
start	tsc.h	/^  [[gnu::always_inline]] void start()$/;"	f	class:time_stamp_counter	typeref:typename:void
start_time	tsc.h	/^  std::chrono::steady_clock::time_point start_time, end_time;$/;"	m	class:time_stamp_counter	typeref:typename:std::chrono::steady_clock::time_point
start_tsc	tsc.h	/^  uint64_t start_tsc, end_tsc;$/;"	m	class:time_stamp_counter	typeref:typename:uint64_t
stop	tsc.h	/^  [[gnu::always_inline]] void stop()$/;"	f	class:time_stamp_counter	typeref:typename:void
time_stamp_counter	tsc.h	/^class time_stamp_counter$/;"	c
uintv	mandelbrot.h	/^using uintv = simd::rebind_t<unsigned, floatv>;$/;"	t	typeref:typename:simd::rebind_t<unsigned,floatv>
value_type	image.h	/^  using value_type = typename PixelVector::value_type;$/;"	t	class:Image	typeref:typename:PixelVector::value_type
w	image.h	/^  int w, h;$/;"	m	class:Image	typeref:typename:int
width	image.h	/^  int width() const noexcept { return w; }$/;"	f	class:Image	typeref:typename:int
write_image	image.h	/^void write_image(const Image &img, std::ostream &file)$/;"	f	typeref:typename:void
