initial commit
This commit is contained in:
57
libraries/FastLED/ci/iwyu/fastled.imp
Normal file
57
libraries/FastLED/ci/iwyu/fastled.imp
Normal file
@@ -0,0 +1,57 @@
|
||||
# FastLED Include What You Use Mapping File
|
||||
# This file tells IWYU about FastLED's specific include patterns and structure
|
||||
|
||||
[
|
||||
# FastLED main headers - these are the public API
|
||||
{ include: ['"FastLED.h"', 'public', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"fastled.h"', 'public', '"FastLED.h"', 'public'] },
|
||||
|
||||
# Core FastLED headers that should be included directly
|
||||
{ include: ['"lib8tion.h"', 'public', '"lib8tion.h"', 'public'] },
|
||||
{ include: ['"pixeltypes.h"', 'public', '"pixeltypes.h"', 'public'] },
|
||||
{ include: ['"hsv2rgb.h"', 'public', '"hsv2rgb.h"', 'public'] },
|
||||
{ include: ['"colorutils.h"', 'public', '"colorutils.h"', 'public'] },
|
||||
{ include: ['"colorpalettes.h"', 'public', '"colorpalettes.h"', 'public'] },
|
||||
|
||||
# Platform-specific headers should not be suggested directly
|
||||
{ include: ['"platforms/*/fastled_*.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"platforms/*/clockless_*.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"platforms/*/*"', 'private', '"FastLED.h"', 'public'] },
|
||||
|
||||
# Internal headers should redirect to public API
|
||||
{ include: ['"controller.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"led_sysdefs.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"fastled_config.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"fastled_delay.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"fastled_progmem.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
|
||||
# fl/ namespace headers - the modern FastLED API
|
||||
{ include: ['"fl/namespace.h"', 'public', '"fl/namespace.h"', 'public'] },
|
||||
{ include: ['"fl/ptr.h"', 'public', '"fl/ptr.h"', 'public'] },
|
||||
{ include: ['"fl/vector.h"', 'public', '"fl/vector.h"', 'public'] },
|
||||
{ include: ['"fl/allocator.h"', 'public', '"fl/allocator.h"', 'public'] },
|
||||
{ include: ['"fl/math.h"', 'public', '"fl/math.h"', 'public'] },
|
||||
{ include: ['"fl/force_inline.h"', 'public', '"fl/force_inline.h"', 'public'] },
|
||||
|
||||
# FX headers - effects system
|
||||
{ include: ['"fx/fx.h"', 'public', '"fx/fx.h"', 'public'] },
|
||||
{ include: ['"fx/fx_engine.h"', 'public', '"fx/fx_engine.h"', 'public'] },
|
||||
{ include: ['"fx/frame.h"', 'public', '"fx/frame.h"', 'public'] },
|
||||
{ include: ['"fx/detail/*"', 'private', '"fx/fx.h"', 'public'] },
|
||||
|
||||
# Third-party headers should not be suggested for user code
|
||||
{ include: ['"third_party/*/*"', 'private', '"FastLED.h"', 'public'] },
|
||||
|
||||
# Arduino-specific headers
|
||||
{ include: ['<Arduino.h>', 'public', '<Arduino.h>', 'public'] },
|
||||
{ include: ['<avr/pgmspace.h>', 'public', '<avr/pgmspace.h>', 'public'] },
|
||||
|
||||
# Chipset-specific headers redirect to main header
|
||||
{ include: ['"chipsets.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"ws2812_controller.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
{ include: ['"apa102_controller.h"', 'private', '"FastLED.h"', 'public'] },
|
||||
|
||||
# Testing headers - keep as-is for test files
|
||||
{ include: ['"test_*.h"', 'public', '"test_*.h"', 'public'] },
|
||||
{ include: ['"doctest.h"', 'public', '"doctest.h"', 'public'] },
|
||||
]
|
||||
67
libraries/FastLED/ci/iwyu/stdlib.imp
Normal file
67
libraries/FastLED/ci/iwyu/stdlib.imp
Normal file
@@ -0,0 +1,67 @@
|
||||
# Standard Library Include What You Use Mapping File
|
||||
# This file provides standard library header mappings for better IWYU suggestions
|
||||
|
||||
[
|
||||
# C++ standard library headers
|
||||
{ include: ['<cstdint>', 'public', '<cstdint>', 'public'] },
|
||||
{ include: ['<cstddef>', 'public', '<cstddef>', 'public'] },
|
||||
{ include: ['<cstring>', 'public', '<cstring>', 'public'] },
|
||||
{ include: ['<cstdlib>', 'public', '<cstdlib>', 'public'] },
|
||||
{ include: ['<cmath>', 'public', '<cmath>', 'public'] },
|
||||
{ include: ['<cassert>', 'public', '<cassert>', 'public'] },
|
||||
{ include: ['<climits>', 'public', '<climits>', 'public'] },
|
||||
{ include: ['<cfloat>', 'public', '<cfloat>', 'public'] },
|
||||
|
||||
# C++ containers and algorithms
|
||||
{ include: ['<vector>', 'public', '<vector>', 'public'] },
|
||||
{ include: ['<array>', 'public', '<array>', 'public'] },
|
||||
{ include: ['<string>', 'public', '<string>', 'public'] },
|
||||
{ include: ['<algorithm>', 'public', '<algorithm>', 'public'] },
|
||||
{ include: ['<memory>', 'public', '<memory>', 'public'] },
|
||||
{ include: ['<functional>', 'public', '<functional>', 'public'] },
|
||||
{ include: ['<utility>', 'public', '<utility>', 'public'] },
|
||||
{ include: ['<type_traits>', 'public', '<type_traits>', 'public'] },
|
||||
|
||||
# I/O headers
|
||||
{ include: ['<iostream>', 'public', '<iostream>', 'public'] },
|
||||
{ include: ['<iomanip>', 'public', '<iomanip>', 'public'] },
|
||||
{ include: ['<sstream>', 'public', '<sstream>', 'public'] },
|
||||
{ include: ['<fstream>', 'public', '<fstream>', 'public'] },
|
||||
|
||||
# Common type mappings
|
||||
{ symbol: ['std::uint8_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::uint16_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::uint32_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::uint64_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::int8_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::int16_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::int32_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::int64_t', 'public', '<cstdint>', 'public'] },
|
||||
{ symbol: ['std::size_t', 'public', '<cstddef>', 'public'] },
|
||||
{ symbol: ['std::ptrdiff_t', 'public', '<cstddef>', 'public'] },
|
||||
|
||||
# Common functions
|
||||
{ symbol: ['std::memcpy', 'public', '<cstring>', 'public'] },
|
||||
{ symbol: ['std::memset', 'public', '<cstring>', 'public'] },
|
||||
{ symbol: ['std::strlen', 'public', '<cstring>', 'public'] },
|
||||
{ symbol: ['std::malloc', 'public', '<cstdlib>', 'public'] },
|
||||
{ symbol: ['std::free', 'public', '<cstdlib>', 'public'] },
|
||||
{ symbol: ['std::abs', 'public', '<cmath>', 'public'] },
|
||||
{ symbol: ['std::sin', 'public', '<cmath>', 'public'] },
|
||||
{ symbol: ['std::cos', 'public', '<cmath>', 'public'] },
|
||||
{ symbol: ['std::sqrt', 'public', '<cmath>', 'public'] },
|
||||
|
||||
# C standard library compatibility (prefer C++ versions)
|
||||
{ include: ['<stdint.h>', 'public', '<cstdint>', 'public'] },
|
||||
{ include: ['<stddef.h>', 'public', '<cstddef>', 'public'] },
|
||||
{ include: ['<string.h>', 'public', '<cstring>', 'public'] },
|
||||
{ include: ['<stdlib.h>', 'public', '<cstdlib>', 'public'] },
|
||||
{ include: ['<math.h>', 'public', '<cmath>', 'public'] },
|
||||
{ include: ['<assert.h>', 'public', '<cassert>', 'public'] },
|
||||
{ include: ['<limits.h>', 'public', '<climits>', 'public'] },
|
||||
{ include: ['<float.h>', 'public', '<cfloat>', 'public'] },
|
||||
|
||||
# Platform-specific but common headers
|
||||
{ include: ['<sys/types.h>', 'public', '<sys/types.h>', 'public'] },
|
||||
{ include: ['<unistd.h>', 'public', '<unistd.h>', 'public'] },
|
||||
]
|
||||
Reference in New Issue
Block a user