.. default-domain:: cpp

.. namespace:: RolesTargetsOk

.. class:: Class

	:cpp:any:`Class`
	:class:`Class`
	:struct:`Class`
	union
	func
	member
	var
	:type:`Class`
	concept
	enum
	enumerator

.. union:: Union

	:cpp:any:`Union`
	class
	struct
	:union:`Union`
	func
	member
	var
	:type:`Union`
	concept
	enum
	enumerator

.. function:: void Function()

	:cpp:any:`Function`
	class
	struct
	union
	:func:`Function`
	member
	var
	:type:`Function`
	concept
	enum
	enumerator

.. var:: int Variable

	:cpp:any:`Variable`
	class
	struct
	union
	function
	:member:`Variable`
	:var:`Variables`
	type
	concept
	enum
	enumerator

.. type:: Type = void

	:cpp:any:`Type`
	class
	struct
	union
	function
	member
	var
	:type:`Type`
	concept
	enum
	enumerator

.. concept:: template<typename T> Concept

	:cpp:any:`Concept`
	class
	struct
	union
	function
	member
	var
	type
	:concept:`Concept`
	enum
	enumerator

.. enum-struct:: Enum

	:cpp:any:`Enum`
	class
	struct
	union
	function
	member
	var
	:type:`Enum`
	concept
	:enum:`Enum`
	enumerator

	.. enumerator:: Enumerator

	:cpp:any:`Enumerator`
	class
	struct
	union
	function
	member
	var
	type
	concept
	enum
	:enumerator:`Enumerator`

.. class:: template<typename TParamType, \
                    int TParamVar, \
                    template<typename> typename TParamTemplate \
                     > ClassTemplate

	:cpp:any:`TParamType`
	:class:`TParamType`
	:struct:`TParamType`
	:union:`TParamType`
	:func:`TParamType`
	:member:`TParamType`
	:var:`TParamType`
	:type:`TParamType`
	:concept:`TParamType`
	:enum:`TParamType`
	:enumerator:`TParamType`

	:cpp:any:`TParamVar`
	:class:`TParamVar`
	:struct:`TParamVar`
	:union:`TParamVar`
	:func:`TParamVar`
	:member:`TParamVar`
	:var:`TParamVar`
	:type:`TParamVar`
	:concept:`TParamVar`
	:enum:`TParamVar`
	:enumerator:`TParamVar`

	:cpp:any:`TParamTemplate`
	:class:`TParamTemplate`
	:struct:`TParamTemplate`
	:union:`TParamTemplate`
	:func:`TParamTemplate`
	:member:`TParamTemplate`
	:var:`TParamTemplate`
	:type:`TParamTemplate`
	:concept:`TParamTemplate`
	:enum:`TParamTemplate`
	:enumerator:`TParamTemplate`

.. function:: void FunctionParams(int FunctionParam)

	:cpp:any:`FunctionParam`
	class
	struct
	union
	function
	:member:`FunctionParam`
	:var:`FunctionParam`
	type
	concept
	enum
	enumerator
