92 lines
6.1 KiB
Plaintext
92 lines
6.1 KiB
Plaintext
[
|
|
# ============================================================================
|
|
# WEBSERV PROJECT IWYU MAPPINGS
|
|
# Based on preferences: Forward declarations in headers, central common header,
|
|
# umbrella headers for modules, strict standard library includes, stdexcept
|
|
# ============================================================================
|
|
|
|
# Standard C++ library private implementation mappings
|
|
{ include: ["<bits/std_abs.h>", "private", "<cstdlib>", "public"] },
|
|
{ include: ["<bits/stdint-intn.h>", "private", "<cstdint>", "public"] },
|
|
{ include: ["<bits/stdint-uintn.h>", "private", "<cstdint>", "public"] },
|
|
{ include: ["<bits/types/time_t.h>", "private", "<ctime>", "public"] },
|
|
{ include: ["<bits/chrono.h>", "private", "<chrono>", "public"] },
|
|
{ include: ["<bits/exception.h>", "private", "<exception>", "public"] },
|
|
{ include: ["<bits/std_function.h>", "private", "<functional>", "public"] },
|
|
{ include: ["<bits/stringfwd.h>", "private", "<string>", "public"] },
|
|
|
|
# Standard library strict mappings (preference 5C - very strict)
|
|
{ include: ["<iostream>", "public", "<iostream>", "public"] },
|
|
{ symbol: ["std::cout", "private", "<iostream>", "public"] },
|
|
{ symbol: ["std::cerr", "private", "<iostream>", "public"] },
|
|
{ symbol: ["std::cin", "private", "<iostream>", "public"] },
|
|
{ symbol: ["std::endl", "private", "<iostream>", "public"] },
|
|
{ symbol: ["std::vector", "private", "<vector>", "public"] },
|
|
{ symbol: ["std::string", "private", "<string>", "public"] },
|
|
{ symbol: ["std::map", "private", "<map>", "public"] },
|
|
{ symbol: ["std::unordered_map", "private", "<unordered_map>", "public"] },
|
|
{ symbol: ["std::unique_ptr", "private", "<memory>", "public"] },
|
|
{ symbol: ["std::shared_ptr", "private", "<memory>", "public"] },
|
|
{ symbol: ["std::make_unique", "private", "<memory>", "public"] },
|
|
{ symbol: ["std::make_shared", "private", "<memory>", "public"] },
|
|
|
|
# System headers for socket programming
|
|
{ include: ["<sys/socket.h>", "public", "<sys/socket.h>", "public"] },
|
|
{ include: ["<netinet/in.h>", "public", "<netinet/in.h>", "public"] },
|
|
{ include: ["<arpa/inet.h>", "public", "<arpa/inet.h>", "public"] },
|
|
{ include: ["<sys/epoll.h>", "public", "<sys/epoll.h>", "public"] },
|
|
{ include: ["<fcntl.h>", "public", "<fcntl.h>", "public"] },
|
|
{ include: ["<unistd.h>", "public", "<unistd.h>", "public"] },
|
|
|
|
# Error handling (preference 6A - stdexcept)
|
|
{ symbol: ["std::runtime_error", "private", "<stdexcept>", "public"] },
|
|
{ symbol: ["std::logic_error", "private", "<stdexcept>", "public"] },
|
|
{ symbol: ["std::invalid_argument", "private", "<stdexcept>", "public"] },
|
|
{ symbol: ["std::out_of_range", "private", "<stdexcept>", "public"] },
|
|
|
|
# ============================================================================
|
|
# PROJECT HEADER MAPPINGS - Standardized on <> angle brackets
|
|
# ============================================================================
|
|
|
|
# Convert quoted includes to angle brackets for consistency
|
|
{ include: ["\"webserv/log/Log.hpp\"", "public", "<webserv/log/Log.hpp>", "public"] },
|
|
{ include: ["\"webserv/log/Channel.hpp\"", "public", "<webserv/log/Channel.hpp>", "public"] },
|
|
{ include: ["\"webserv/log/StdoutChannel.hpp\"", "public", "<webserv/log/StdoutChannel.hpp>", "public"] },
|
|
{ include: ["\"webserv/log/FileChannel.hpp\"", "public", "<webserv/log/FileChannel.hpp>", "public"] },
|
|
|
|
{ include: ["\"webserv/http/HttpRequest.hpp\"", "public", "<webserv/http/HttpRequest.hpp>", "public"] },
|
|
{ include: ["\"webserv/http/HttpResponse.hpp\"", "public", "<webserv/http/HttpResponse.hpp>", "public"] },
|
|
{ include: ["\"webserv/http/HttpHeaders.hpp\"", "public", "<webserv/http/HttpHeaders.hpp>", "public"] },
|
|
{ include: ["\"webserv/http/HttpConstants.hpp\"", "public", "<webserv/http/HttpConstants.hpp>", "public"] },
|
|
|
|
{ include: ["\"webserv/config/ConfigManager.hpp\"", "public", "<webserv/config/ConfigManager.hpp>", "public"] },
|
|
{ include: ["\"webserv/config/ServerConfig.hpp\"", "public", "<webserv/config/ServerConfig.hpp>", "public"] },
|
|
{ include: ["\"webserv/config/LocationConfig.hpp\"", "public", "<webserv/config/LocationConfig.hpp>", "public"] },
|
|
{ include: ["\i"webserv/utils/utls.hpp\"", "public", "<webserv/utils/utils.hpp>", "public"] },
|
|
|
|
{ include: ["\"webserv/server/Server.hpp\"", "public", "<webserv/server/Server.hpp>", "public"] },
|
|
{ include: ["\"webserv/client/Client.hpp\"", "public", "<webserv/client/Client.hpp>", "public"] },
|
|
{ include: ["\"webserv/socket/Socket.hpp\"", "public", "<webserv/socket/Socket.hpp>", "public"] },
|
|
{ include: ["\"webserv/router/Router.hpp\"", "public", "<webserv/router/Router.hpp>", "public"] },
|
|
|
|
{ include: ["\"webserv/handler/CgiHandler.hpp\"", "public", "<webserv/handler/CgiHandler.hpp>", "public"] },
|
|
{ include: ["\"webserv/handler/FileHandler.hpp\"", "public", "<webserv/handler/FileHandler.hpp>", "public"] },
|
|
{ include: ["\"webserv/handler/ErrorHandler.hpp\"", "public", "<webserv/handler/ErrorHandler.hpp>", "public"] },
|
|
|
|
# ============================================================================
|
|
# FORWARD DECLARATION PREFERENCES
|
|
# ============================================================================
|
|
|
|
# Suggest forward declarations instead of full includes in headers where possible
|
|
{ symbol: ["Client", "private", "<webserv/client/Client.hpp>", "public"] },
|
|
{ symbol: ["Server", "private", "<webserv/server/Server.hpp>", "public"] },
|
|
{ symbol: ["HttpRequest", "private", "<webserv/http/HttpRequest.hpp>", "public"] },
|
|
{ symbol: ["HttpResponse", "private", "<webserv/http/HttpResponse.hpp>", "public"] },
|
|
{ symbol: ["HttpHeaders", "private", "<webserv/http/HttpHeaders.hpp>", "public"] },
|
|
{ symbol: ["ServerConfig", "private", "<webserv/config/ServerConfig.hpp>", "public"] },
|
|
{ symbol: ["ConfigManager", "private", "<webserv/config/ConfigManager.hpp>", "public"] },
|
|
{ symbol: ["LocationConfig", "private", "<webserv/config/LocationConfig.hpp>", "public"] },
|
|
{ symbol: ["Socket", "private", "<webserv/socket/Socket.hpp>", "public"] },
|
|
{ symbol: ["Router", "private", "<webserv/router/Router.hpp>", "public"] },
|
|
{ symbol: ["Channel", "private", "<webserv/log/Channel.hpp>", "public"] }
|
|
] |