Ejemplo n.º 1
0
        public APIFunction(APIPage InParent, DoxygenEntity InEntity, APIFunctionKey InKey, string InLinkPath)
            : base(InParent, InEntity.Name, InLinkPath)
        {
            Entity = InEntity;
            Node   = Entity.Node;

            Protection   = ParseProtection(Node);
            FunctionType = InKey.Type;
            AddRefLink(Entity.Node.Attributes["id"].Value, this);

            bIsTemplateSpecialization = Name.Contains('<');
            if (Node.SelectSingleNode("templateparamlist") != null && !bIsTemplateSpecialization && !TemplateFunctions.ContainsKey(FullName))
            {
                TemplateFunctions.Add(FullName, this);
            }
        }
Ejemplo n.º 2
0
		public APIFunctionGroup(APIPage InParent, APIFunctionKey InKey, IEnumerable<DoxygenEntity> InEntities) 
			: base(InParent, InKey.Name, Utility.MakeLinkPath(InParent.LinkPath, InKey.GetLinkName()))
		{
			FunctionType = InKey.Type;

			// Build a list of prototypes for each function node, to be used for sorting
			List<DoxygenEntity> Entities = new List<DoxygenEntity>(InEntities.OrderBy(x => x.Node.SelectNodes("param").Count));

			// Create the functions
			int LinkIndex = 1;
			foreach(DoxygenEntity Entity in Entities)
			{
				string NewLinkPath = Utility.MakeLinkPath(LinkPath, String.Format("{0}", LinkIndex));
				APIFunction Function = new APIFunction(this, Entity, InKey, NewLinkPath);
				Children.Add(Function);
				LinkIndex++;
			}
		}
Ejemplo n.º 3
0
        public APIFunctionGroup(APIPage InParent, APIFunctionKey InKey, IEnumerable <DoxygenEntity> InEntities)
            : base(InParent, InKey.Name, Utility.MakeLinkPath(InParent.LinkPath, InKey.GetLinkName()))
        {
            FunctionType = InKey.Type;

            // Build a list of prototypes for each function node, to be used for sorting
            List <DoxygenEntity> Entities = new List <DoxygenEntity>(InEntities.OrderBy(x => x.Node.SelectNodes("param").Count));

            // Create the functions
            int LinkIndex = 1;

            foreach (DoxygenEntity Entity in Entities)
            {
                string      NewLinkPath = Utility.MakeLinkPath(LinkPath, String.Format("{0}", LinkIndex));
                APIFunction Function    = new APIFunction(this, Entity, InKey, NewLinkPath);
                Children.Add(Function);
                LinkIndex++;
            }
        }
Ejemplo n.º 4
0
		public APIFunctionGroup(APIPage InParent, APIFunctionKey InKey, IEnumerable<APIFunction> InFunctions)
			: base(InParent, InKey.Name, Utility.MakeLinkPath(InParent.LinkPath, InKey.GetLinkName()))
		{
			FunctionType = InKey.Type;
			Children.AddRange(InFunctions);
		}
Ejemplo n.º 5
0
 public APIFunctionKey(string InName, APIFunctionType InType)
 {
     Name = InName;
     Type = InType;
 }
Ejemplo n.º 6
0
        public APIFunction(APIPage InParent, DoxygenEntity InEntity, APIFunctionKey InKey, string InLinkPath)
            : base(InParent, InEntity.Name, InLinkPath)
        {
            Entity = InEntity;
            Node = Entity.Node;

            Protection = ParseProtection(Node);
            FunctionType = InKey.Type;
            AddRefLink(Entity.Node.Attributes["id"].Value, this);

            bIsTemplateSpecialization = Name.Contains('<');
            if (Node.SelectSingleNode("templateparamlist") != null && !bIsTemplateSpecialization && !TemplateFunctions.ContainsKey(FullName))
            {
                TemplateFunctions.Add(FullName, this);
            }
        }
Ejemplo n.º 7
0
 public APIFunctionKey(string InName, APIFunctionType InType)
 {
     Name = InName;
     Type = InType;
 }
Ejemplo n.º 8
0
 public APIFunctionGroup(APIPage InParent, APIFunctionKey InKey, IEnumerable <APIFunction> InFunctions)
     : base(InParent, InKey.Name, Utility.MakeLinkPath(InParent.LinkPath, InKey.GetLinkName()))
 {
     FunctionType = InKey.Type;
     Children.AddRange(InFunctions);
 }