This file defines the schema of the index-functions-*.xml files.

    /index/const        defines a macro/constant/enum value
    /index/function     defines a global function
    /index/class        defines a class
    /index/enum         defines an enum

        "name" attribute: name of the identifier (with the namespace prefix)
        "link" attribute: link relative to the wiki root
        "since" attribute: (optional) <see below>

    //class/const       defines a macro/member constant/member enum value
    //enum/const        defines an enum class value (only in c++11)
    //class/function    defines a member function
    //class/class       defines a member class
    //class/enum        defines a member enum

        "name" attribute: name of the function/class (without the parent
                          class/namespace prefix)
        "link" attribute: (optional) link relative to the parent class. By
                          default equals to 'name'. If set to "." the resulting
                          link targets to the page of the parent class

        "since" attribute: (optional) <see below>

    //class/overload

        defines a function overload or function specialization of some function
        accepts the class as one of the arguments and can be found using ADL.

        "name" attribute: name of the identifier (with the namespace prefix)
        "link" attribute: link relative to the parent class. If set to "." the
                          resulting link targets to the page of the parent class
        "since" attribute: (optional) <see below>

    //class/specialization
        defines a specialization of an unrelated class for specific type (for
        function specializations use 'overload')

        "name" attribute: name of the identifier (with the namespace prefix)
        "link" attribute: (optional) link relative to the parent class. By
                          default equals to 'name'. If set to "." the resulting
                          link targets to the page of the parent class
        "since" attribute: (optional) <see below>

    //class/constructor

        defines a constructor. Equivalent to <function name="@1" link="@2"/>
        where @1 and @2 are the following:
            @1 - the name of the parent class without the namespace prefix
            @2 - the link parameter if provided, the value of @1 otherwise.

        "link" attribute: (optional) link relative to the parent class. By
                          default equals to the name of the parent class without
                          the namespace prefix. If set to ".", the resulting
                          link targets to the page of the parent class.

    //class/destructor

        defines a constructor. Equivalent to <function name="~@1" link="@2"/>
        where @1 and @2 are the following:
            @1 - the name of the parent class without the namespace prefix
            @2 - the link parameter if provided, the value of ~@1 otherwise.

        "link" attribute: (optional) link relative to the parent class. By
                          default equals to the name of the parent class without
                          the namespace prefix. If set to ".", the resulting
                          link targets to the page of the parent class.

    /index/typedef      defines a typedef

        "name" attribute: name of the identifier (with the namespace prefix)
        "link" attribute: link relative to the wiki root
        "alias" attribute: name of the identifier whose contents to import.
                           Allowed identifiers: '/index/class' and '/index/enum'
        "since" attribute: (optional) <see below>
        "alias" and "link" attributes are incompatible

    //class/typedef     defines a member typedef

        "name" attribute: name of the identifier (with the namespace prefix)
        "link" attribute: link relative to the wiki root
        "alias" attribute: (optional) name of the identifier whose contents to
                           import. Allowed identifiers: '/index/class' and
                           '/index/enum'
        "since" attribute: (optional) <see below>
        "alias" and "link" attributes are incompatible

    //class/inherits

        imports all class and function members of another class.

        "name" attribute: name of the identifier whose contents to import.
                          Allowed identifiers: '/index/class' and '/index/enum'

    "since" attribute: one of "c99", "c11", "c++03", "c++11", "c++14"

    Note: replace spaces in all links with '_'

